コード例 #1
0
ファイル: types.py プロジェクト: ilo/krpc
 def get_parameter_type(self, pos, typ, attrs):
     """ Return a type object for a parameter at the given
         position, protocol buffer type, and procedure attributes """
     attrs = _Attributes.get_parameter_type_attrs(pos, attrs)
     for attr in attrs:
         try:
             return self.as_type(attr)
         except ValueError:
             pass
     return self.as_type(typ)
コード例 #2
0
ファイル: test_attributes.py プロジェクト: BasConijn/krpc
 def test_get_parameter_type_attributes(self):
     self.assertEqual([], Attributes.get_parameter_type_attrs(0, []))
     self.assertEqual([], Attributes.get_parameter_type_attrs(0, ['Class.Method(ServiceName.ClassName,MethodName)']))
     self.assertEqual([], Attributes.get_parameter_type_attrs(0, ['ReturnType.Class(ServiceName.ClassName)']))
     self.assertEqual([], Attributes.get_parameter_type_attrs(0, ['Class.Method(ServiceName.ClassName,MethodName)', 'ReturnType.Class(ServiceName.ClassName)']))
     self.assertEqual([], Attributes.get_parameter_type_attrs(1, ['ParameterType(2).Class(ServiceName.ClassName)']))
     self.assertEqual(['Class(ServiceName.ClassName)'], Attributes.get_parameter_type_attrs(2, ['ParameterType(2).Class(ServiceName.ClassName)']))
     self.assertEqual(['Class(ServiceName.ClassName2)'], Attributes.get_parameter_type_attrs(2, ['ParameterType(0).Class(ServiceName.ClassName1)', 'ParameterType(2).Class(ServiceName.ClassName2)']))
     self.assertEqual(['Class(ServiceName.ClassName)'], Attributes.get_parameter_type_attrs(1, ['Class.Method(ServiceName.ClassName,MethodName)', 'ParameterType(1).Class(ServiceName.ClassName)']))
     self.assertEqual(['List(string)'], Attributes.get_parameter_type_attrs(1, ['ParameterType(1).List(string)']))
     self.assertEqual(['Dictionary(int32,string)'], Attributes.get_parameter_type_attrs(1, ['ParameterType(1).Dictionary(int32,string)']))
     self.assertEqual(['Set(string)'], Attributes.get_parameter_type_attrs(1, ['ParameterType(1).Set(string)']))
     self.assertEqual(['List(Dictionary(int32,string))'], Attributes.get_parameter_type_attrs(1, ['ParameterType(1).List(Dictionary(int32,string))']))
     self.assertEqual(['Dictionary(int32,List(ServiceName.ClassName))'], Attributes.get_parameter_type_attrs(1, ['ParameterType(1).Dictionary(int32,List(ServiceName.ClassName))']))