Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / mojo / python / tests / bindings_constants_unittest.py
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