Пример #1
0
 def test_interface( self ):
     type_names = builtin_type_registry()
     resolver = TypeResolver([type_names])
     data = t_interface_meta('unit_test_iface', None, [
         t_command_meta('request', 'request_one',
                        [t_field_meta('req_param1', t_named('string'))],
                        [t_field_meta('req_result1', t_list_meta(t_named('int')))]),
         t_command_meta('notification', 'notification_one',
                        [t_field_meta('noti_param1', t_optional_meta(t_named('bool'))),
                         t_field_meta('noti_param2', t_named('datetime'))]),
         t_command_meta('request', 'request_open', [],
                        [t_field_meta('result', t_optional_meta(t_named('int')))]),
         ], contents_fields=[
             t_field_meta('text', t_named('string')),
         ], diff_type=t_named('string')
         )
     t = self.meta_type_registry.resolve(resolver, data)
     self.assertEqual(Interface('unit_test_iface',
         contents_fields=[
             Field('text', tString),
         ],
         diff_type=tString,
         commands=[
             RequestCmd('request_one',
                        [Field('req_param1', tString)],
                        [Field('req_result1', TList(tInt))]),
             NotificationCmd('notification_one',
                             [Field('noti_param1', TOptional(tBool)),
                              Field('noti_param2', tDateTime)]),
             RequestCmd('request_open', [],
                        [Field('result', TOptional(tInt))]),
         ]), t)
Пример #2
0
 def test_list_interface( self ):
     type_names = builtin_type_registry()
     resolver = TypeResolver([type_names])
     data = t_list_interface_meta('unit_test_list_iface', None, commands=[
             t_command_meta('request', 'request_open', [],
                            [t_field_meta('result', t_optional_meta(t_named('int')))]),
         ], columns=[
             t_column_meta('key', t_named('int'), is_key=True),
             t_column_meta('text', t_named('string'), is_key=False),
         ], contents_fields=[
             t_field_meta('text', t_named('string')),
         ])
     t = self.meta_type_registry.resolve(resolver, data)
     self.assertEqual(ListInterface('unit_test_list_iface',
         contents_fields=[
             Field('text', tString),
         ],
         commands=[
             RequestCmd('request_open', [], [Field('result', TOptional(tInt))]),
         ], columns=[
             Column('key', tInt, is_key=True),
             Column('text', tString),
         ]), t)