def test_Standard(self): self.assertEqual( _Invoke("<foo ?>").items[0].arity, Arity.FromString("?")) self.assertEqual( _Invoke("<foo *>").items[0].arity, Arity.FromString("*")) self.assertEqual( _Invoke("<foo +>").items[0].arity, Arity.FromString("+")) self.assertEqual(_Invoke("<foo {10}>").items[0].arity, Arity(10, 10)) self.assertEqual(_Invoke("<foo {5, 20}>").items[0].arity, Arity(5, 20))
def test_Arity(self): self.assertEqual( SimpleSchemaVisitor.Accept( IntTypeInfo(arity=Arity.FromString("*")), None), "<int *>") self.assertEqual( SimpleSchemaVisitor.Accept( IntTypeInfo(arity=Arity.FromString("+")), None), "<int +>") self.assertEqual( SimpleSchemaVisitor.Accept( IntTypeInfo(arity=Arity.FromString("?")), None), "<int ?>") self.assertEqual( SimpleSchemaVisitor.Accept(IntTypeInfo(arity=Arity(1, 2)), None), "<int {1,2}>") self.assertEqual( SimpleSchemaVisitor.Accept(IntTypeInfo(arity=Arity(2, 2)), None), "<int {2}>")
def test_Arity(self): item = _Invoke("<foo string ?>").items[0] self.assertEqual(item.name, "foo") self.assertEqual(item.references, ["string"]) self.assertEqual(item.metadata.Values, {}) self.assertEqual(item.arity, Arity.FromString("?"))
def test_MetadataAndArity(self): item = _Invoke("<string one='two' ?>").items[0] self.assertEqual(item.name, None) self.assertEqual(item.references, ["string"]) self.assertEqual(list(item.metadata.Values.keys()), ["one"]) self.assertEqual(item.metadata.Values["one"].Value, "two") self.assertEqual(item.arity, Arity.FromString("?"))
def test_OnlyArity(self): content = _Invoke( textwrap.dedent("""\ <?>: pass """, ), ) self.assertEqual(len(content.items), 1) self.assertEqual(content.items[0].name, None) self.assertEqual(content.items[0].arity, Arity.FromString("?"))
def test_Attributes(self): root = _Invoke("<one='two' ?>: pass") self.assertEqual(len(root.items), 1) item = root.items[0] self.assertEqual(item.name, None) self.assertEqual(list(item.metadata.Values.keys()), ["one"]) self.assertEqual(item.metadata.Values["one"].Value, "two") self.assertEqual(item.arity, Arity.FromString("?"))
def test_FromString(self): self.assertEqual(Arity.FromString('?'), Arity(0, 1)) self.assertEqual(Arity.FromString('1'), Arity(1, 1)) self.assertEqual(Arity.FromString('*'), Arity(0, None)) self.assertEqual(Arity.FromString('+'), Arity(1, None)) self.assertEqual(Arity.FromString('{3}'), Arity(3, 3)) self.assertEqual(Arity.FromString('{3,4}'), Arity(3, 4))
def test_WithArity(self): content = _Invoke( textwrap.dedent( """\ an_extension(1, 2, three=3, four=4)? """, ), ) self.assertEqual(len(content.items), 1) self.assertEqual(content.items[0].name, "an_extension") self.assertEqual(content.items[0].positional_arguments, [1, 2]) self.assertEqual(content.items[0].keyword_arguments, {"three": 3, "four": 4}) self.assertEqual(content.items[0].arity, Arity.FromString("?"))
def visitArityOneOrMore(self, ctx): self._stack.append(Arity.FromString("+"))
def visitArityZeroOrMore(self, ctx): self._stack.append(Arity.FromString("*"))
def visitArityOptional(self, ctx): self._stack.append(Arity.FromString("?"))
except: _DecorateActiveException("FileInfo") except SerializationException: raise except Exception as ex: raise DeserializeException(ex) return items # ---------------------------------------------------------------------- # | # | Type Infos # | # ---------------------------------------------------------------------- FileInfo_TypeInfo = ClassTypeInfo(OrderedDict([ ( "function_list", ClassTypeInfo(OrderedDict([ ( "name", StringTypeInfo(min_length=1) ), ( "raw_return_type", StringTypeInfo(min_length=1) ), ( "simple_return_type", StringTypeInfo(min_length=1) ), ( "var_names", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "raw_var_types", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "simple_var_types", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "declaration_line", IntTypeInfo(min=1, arity=Arity.FromString('?')) ), ( "definition_line", IntTypeInfo(min=1, arity=Arity.FromString('?')) ) ]), require_exact_match=True, arity=Arity.FromString('*')) ), ( "struct_list", ClassTypeInfo(OrderedDict([ ( "name", StringTypeInfo(min_length=1) ), ( "var_names", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "raw_var_types", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "simple_var_types", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "definition_line", IntTypeInfo(min=1, arity=Arity.FromString('?')) ), ( "base_structs", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "constructor_list", ClassTypeInfo(OrderedDict([ ( "var_names", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "raw_var_types", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "simple_var_types", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ), ( "definition_line", IntTypeInfo(min=1, arity=Arity.FromString('?')) ) ]), require_exact_match=True, arity=Arity.FromString('*')) ) ]), require_exact_match=True, arity=Arity.FromString('*')) ), ( "include_list", StringTypeInfo(min_length=1, arity=Arity.FromString('*')) ) ]), require_exact_match=True, arity=Arity.FromString('*')) _FileInfo_TypeInfo_Contents = OrderedDict([("function_list", GenericTypeInfo(arity=Arity.FromString('*'))), ("struct_list", GenericTypeInfo(arity=Arity.FromString('*'))), ("include_list", GenericTypeInfo(arity=Arity.FromString('*')))]) _FileInfo_function_list_TypeInfo_Contents = OrderedDict([("name", GenericTypeInfo()), ("raw_return_type", GenericTypeInfo()), ("simple_return_type", GenericTypeInfo()), ("var_names", GenericTypeInfo(arity=Arity.FromString('*'))), ("raw_var_types", GenericTypeInfo(arity=Arity.FromString('*'))), ("simple_var_types", GenericTypeInfo(arity=Arity.FromString('*'))), ("declaration_line", GenericTypeInfo(arity=Arity.FromString('?'))), ("definition_line", GenericTypeInfo(arity=Arity.FromString('?')))]) _FileInfo_struct_list_TypeInfo_Contents = OrderedDict([("name", GenericTypeInfo()), ("var_names", GenericTypeInfo(arity=Arity.FromString('*'))), ("raw_var_types", GenericTypeInfo(arity=Arity.FromString('*'))), ("simple_var_types", GenericTypeInfo(arity=Arity.FromString('*'))), ("definition_line", GenericTypeInfo(arity=Arity.FromString('?'))), ("base_structs", GenericTypeInfo(arity=Arity.FromString('*'))), ("constructor_list", GenericTypeInfo(arity=Arity.FromString('*')))]) _FileInfo_struct_list_constructor_list_TypeInfo_Contents = OrderedDict([("var_names", GenericTypeInfo(arity=Arity.FromString('*'))), ("raw_var_types", GenericTypeInfo(arity=Arity.FromString('*'))), ("simple_var_types", GenericTypeInfo(arity=Arity.FromString('*'))), ("definition_line", GenericTypeInfo(arity=Arity.FromString('?')))]) _FileInfo_TypeInfo = AnyOfTypeInfo([ClassTypeInfo(_FileInfo_TypeInfo_Contents, require_exact_match=False), DictTypeInfo(_FileInfo_TypeInfo_Contents, require_exact_match=False)], arity=Arity.FromString('*')) _FileInfo_function_list_TypeInfo = AnyOfTypeInfo([ClassTypeInfo(_FileInfo_function_list_TypeInfo_Contents, require_exact_match=False), DictTypeInfo(_FileInfo_function_list_TypeInfo_Contents, require_exact_match=False)], arity=Arity.FromString('*')) _FileInfo_function_list_name_TypeInfo = StringTypeInfo(min_length=1) _FileInfo_function_list_raw_return_type_TypeInfo = StringTypeInfo(min_length=1) _FileInfo_function_list_simple_return_type_TypeInfo = StringTypeInfo(min_length=1) _FileInfo_function_list_var_names_TypeInfo = StringTypeInfo(min_length=1, arity=Arity.FromString('*')) _FileInfo_function_list_raw_var_types_TypeInfo = StringTypeInfo(min_length=1, arity=Arity.FromString('*')) _FileInfo_function_list_simple_var_types_TypeInfo = StringTypeInfo(min_length=1, arity=Arity.FromString('*')) _FileInfo_function_list_declaration_line_TypeInfo = IntTypeInfo(min=1, arity=Arity.FromString('?'))
def test_Equal(self): self.assertEqual(Arity(0, None), Arity.FromString('*')) self.assertTrue(Arity(0, None) != Arity.FromString('+'))
_DecorateActiveException("named_filters") except SerializationException: raise except Exception as ex: raise DeserializeException(ex) return items # ---------------------------------------------------------------------- # | # | Type Infos # | # ---------------------------------------------------------------------- filter_TypeInfo = ClassTypeInfo(OrderedDict([ ("includes", StringTypeInfo(min_length=1, arity=Arity.FromString('*'))), ("excludes", StringTypeInfo(min_length=1, arity=Arity.FromString('*'))), ("continue_processing", BoolTypeInfo(arity=Arity.FromString('?'))) ]), require_exact_match=True, arity=Arity.FromString('?')) named_filters_TypeInfo = ClassTypeInfo(OrderedDict([ ("glob", StringTypeInfo(min_length=1)) ]), require_exact_match=True, arity=Arity.FromString('*')) _filter_TypeInfo_Contents = OrderedDict([ ("includes", GenericTypeInfo(arity=Arity.FromString('*'))), ("excludes", GenericTypeInfo(arity=Arity.FromString('*'))), ("continue_processing", GenericTypeInfo(arity=Arity.FromString('?')))