1 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import math 6 import unittest 7 8 # Generated files 9 # pylint: disable=F0401 10 import sample_service_mojom 11 12 13 class ConstantBindingsTest(unittest.TestCase): 14 15 def testConstantGeneration(self): 16 self.assertEquals(sample_service_mojom.TWELVE, 12) 17 self.assertEquals(sample_service_mojom.TOO_BIG_FOR_SIGNED_INT64, 18 9999999999999999999) 19 self.assertEquals(sample_service_mojom.DOUBLE_INFINITY, 20 float('inf')) 21 self.assertEquals(sample_service_mojom.DOUBLE_NEGATIVE_INFINITY, 22 float('-inf')) 23 self.assertTrue(math.isnan(sample_service_mojom.DOUBLE_NA_N)) 24 self.assertEquals(sample_service_mojom.FLOAT_INFINITY, 25 float('inf')) 26 self.assertEquals(sample_service_mojom.FLOAT_NEGATIVE_INFINITY, 27 float('-inf')) 28 self.assertTrue(math.isnan(sample_service_mojom.FLOAT_NA_N)) 29 30 def testConstantOnStructGeneration(self): 31 self.assertEquals(sample_service_mojom.Foo.FOOBY, "Fooby") 32 33 def testStructImmutability(self): 34 with self.assertRaises(AttributeError): 35 sample_service_mojom.Foo.FOOBY = 0 36 with self.assertRaises(AttributeError): 37 del sample_service_mojom.Foo.FOOBY 38 with self.assertRaises(AttributeError): 39 sample_service_mojom.Foo.BAR = 1 40