def test_enumeration_types(self): types = Types() typ = types.enumeration_type('ServiceName', 'EnumName', 'enum documentation') self.assertTrue(isinstance(typ, EnumerationType)) self.assertIsNone(typ.python_type) self.check_protobuf_type(Type.ENUMERATION, 'ServiceName', 'EnumName', 0, typ.protobuf_type) typ.set_values({ 'a': { 'value': 0, 'doc': 'doca' }, 'b': { 'value': 42, 'doc': 'docb' }, 'c': { 'value': 100, 'doc': 'docc' } }) self.assertTrue(issubclass(typ.python_type, Enum)) self.assertEqual('enum documentation', typ.python_type.__doc__) self.assertEqual(0, typ.python_type.a.value) self.assertEqual(42, typ.python_type.b.value) self.assertEqual(100, typ.python_type.c.value) self.assertEqual('doca', typ.python_type.a.__doc__) self.assertEqual('docb', typ.python_type.b.__doc__) self.assertEqual('docc', typ.python_type.c.__doc__) typ2 = types.as_type(typ.protobuf_type) self.assertEqual(typ, typ2)
def test_enumeration_types(self): types = Types() typ = types.enumeration_type( 'ServiceName', 'EnumName', 'enum documentation') self.assertTrue(isinstance(typ, EnumerationType)) self.assertIsNone(typ.python_type) self.check_protobuf_type( Type.ENUMERATION, 'ServiceName', 'EnumName', 0, typ.protobuf_type) typ.set_values({ 'a': {'value': 0, 'doc': 'doca'}, 'b': {'value': 42, 'doc': 'docb'}, 'c': {'value': 100, 'doc': 'docc'} }) self.assertTrue(issubclass(typ.python_type, Enum)) self.assertEqual('enum documentation', typ.python_type.__doc__) self.assertEquals(0, typ.python_type.a.value) self.assertEquals(42, typ.python_type.b.value) self.assertEquals(100, typ.python_type.c.value) self.assertEquals('doca', typ.python_type.a.__doc__) self.assertEquals('docb', typ.python_type.b.__doc__) self.assertEquals('docc', typ.python_type.c.__doc__) typ2 = types.as_type(typ.protobuf_type) self.assertEqual(typ, typ2)