1645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez# Copyright 2015 The Chromium Authors. All rights reserved.
2645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez# Use of this source code is governed by a BSD-style license that can be
3645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez# found in the LICENSE file.
4645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
5645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavezimport unittest
6645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
7645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavezimport module as mojom
8645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavezimport generator
9645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
10645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavezclass TestGenerator(unittest.TestCase):
11645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
12645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  def testGetUnionsAddsOrdinals(self):
13645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    module = mojom.Module()
14645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    union = module.AddUnion('a')
15645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    union.AddField('a', mojom.BOOL)
16645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    union.AddField('b', mojom.BOOL)
17645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    union.AddField('c', mojom.BOOL, ordinal=10)
18645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    union.AddField('d', mojom.BOOL)
19645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
20645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    gen = generator.Generator(module)
21645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    union = gen.GetUnions()[0]
22645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    ordinals = [field.ordinal for field in union.fields]
23645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
24645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    self.assertEquals([0, 1, 10, 11], ordinals)
25