diff options
Diffstat (limited to 'lang_ext/python/test.py')
-rw-r--r-- | lang_ext/python/test.py | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/lang_ext/python/test.py b/lang_ext/python/test.py index df152da..d278cab 100644 --- a/lang_ext/python/test.py +++ b/lang_ext/python/test.py @@ -5,10 +5,35 @@ import unittest class TestFieldDef(unittest.TestCase): def test_construction(self): fielddef1 = upb.FieldDef() - self.assertTrue(fielddef1 is not None) - fielddef2 = upb.FieldDef(number=1, name="field1", label=2, type=3) - self.assertTrue(fielddef2 is not None) + self.assertTrue(fielddef1.number is None) + self.assertTrue(fielddef1.name is None) + self.assertTrue(fielddef1.type is None) + self.assertEqual(fielddef1.label, upb.LABEL_OPTIONAL) + + fielddef2 = upb.FieldDef(number=5, name="field2", + label=upb.LABEL_REQUIRED, type=upb.TYPE_INT32, + type_name="MyType") + self.assertTrue(id(fielddef1) != id(fielddef2)) + self.assertEqual(fielddef2.number, 5) + self.assertEqual(fielddef2.name, "field2") + self.assertEqual(fielddef2.label, upb.LABEL_REQUIRED) + self.assertEqual(fielddef2.type, upb.TYPE_INT32) + self.assertEqual(fielddef2.type_name, "MyType") + + fielddef2.number = 8 + self.assertEqual(fielddef2.number, 8) + + fielddef2.name = "xxx" + self.assertEqual(fielddef2.name, "xxx") + + fielddef2.label = upb.LABEL_REPEATED + self.assertEqual(fielddef2.label, upb.LABEL_REPEATED) + + fielddef2.type = upb.TYPE_FLOAT + self.assertEqual(fielddef2.type, upb.TYPE_FLOAT) + + # TODO: test that assigning invalid values is properly prevented. if __name__ == '__main__': unittest.main() |