Beispiel #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)
Beispiel #2
0
 def test_record( self ):
     resolver = TypeResolver([builtin_type_registry()])
     data = t_record_meta([
         t_field_meta('int_field', t_named('int')),
         t_field_meta('string_list_field', t_list_meta(t_named('string'))),
         t_field_meta('bool_optional_field', t_optional_meta(t_named('bool'))),
         ])
     t = self.meta_type_registry.resolve(resolver, data)
     self.assertEqual(TRecord([
         Field('int_field', tInt),
         Field('string_list_field', TList(tString)),
         Field('bool_optional_field', TOptional(tBool)),
         ]),
         t)
Beispiel #3
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)
Beispiel #4
0
 def test_list( self ):
     resolver = TypeResolver([builtin_type_registry()])
     data = t_list_meta(t_optional_meta(t_named('datetime')))
     t = self.meta_type_registry.resolve(resolver, data)
     self.assertEqual(TList(TOptional(tDateTime)), t)
Beispiel #5
0
 def test_optional( self ):
     resolver = TypeResolver([builtin_type_registry()])
     data = t_optional_meta(t_named('string'))
     t = self.meta_type_registry.resolve(resolver, data)
     self.assertEqual(t, TOptional(tString))
     self.assertIs(t.base_t, tString)