def _VerifyTestDerived( self, type_info, verify_derived_refs=True, ): self.assertTrue(isinstance(type_info, ClassTypeInfo)) self.assertEqual( list(six.iterkeys(type_info.Items)), [ "b", "c", "v1", "v2", "v3", "c_ref0", "c_ref1", "c_ref2", "c_ref25", "c_ref3", "c_ref4", "test_derived_ref1", "test_derived_ref2", "test_derived_ref3", "test_derived_ref4", "test_derived_ref5", ], ) self.assertEqual(type_info.Items["b"], BoolTypeInfo()) self.assertEqual( type_info.Items["c"], StringTypeInfo( min_length=12, arity="*", ), ) self.assertEqual( type_info.Items["v1"], AnyOfTypeInfo([ BoolTypeInfo(), StringTypeInfo(), IntTypeInfo(min=20, ), ], ), ) self.assertEqual( type_info.Items["v2"], AnyOfTypeInfo([ BoolTypeInfo(), BoolTypeInfo(), StringTypeInfo(), IntTypeInfo(min=20, ), ], ), ) self.assertEqual( type_info.Items["v3"], AnyOfTypeInfo([ UriTypeInfo(), BoolTypeInfo(), BoolTypeInfo(), StringTypeInfo(), IntTypeInfo(min=20, ), FilenameTypeInfo(ensure_exists=True, ), ], ), ) self.assertEqual( type_info.Items["c_ref0"], StringTypeInfo( min_length=12, arity="*", ), ) self.assertEqual( type_info.Items["c_ref1"], StringTypeInfo( min_length=12, max_length=20, arity="*", ), ) self.assertEqual( type_info.Items["c_ref2"], StringTypeInfo( min_length=12, arity=Arity(20, 20), ), ) self.assertEqual( type_info.Items["c_ref25"], StringTypeInfo( min_length=12, max_length=20, arity=Arity(20, 20), ), ) self.assertEqual( type_info.Items["c_ref3"], ListTypeInfo( StringTypeInfo( min_length=12, arity="*", ), arity=Arity(5, 5), ), ) self.assertEqual( type_info.Items["c_ref4"], ListTypeInfo( ListTypeInfo( StringTypeInfo( min_length=12, arity="*", ), arity=Arity(5, 5), ), arity=Arity(10, 10), ), ) self.assertTrue( isinstance(type_info.Items["test_derived_ref1"], ClassTypeInfo)) self.assertTrue( isinstance(type_info.Items["test_derived_ref2"], ClassTypeInfo)) self.assertTrue( isinstance(type_info.Items["test_derived_ref3"], ClassTypeInfo)) self.assertTrue( isinstance(type_info.Items["test_derived_ref4"], ClassTypeInfo)) self.assertTrue( isinstance(type_info.Items["test_derived_ref5"], ListTypeInfo)) self.assertTrue( isinstance(type_info.Items["test_derived_ref5"].ElementTypeInfo, ClassTypeInfo)) if verify_derived_refs: self._VerifyTestDerived( type_info.Items["test_derived_ref1"], verify_derived_refs=False, ) self._VerifyTestDerived( type_info.Items["test_derived_ref2"], verify_derived_refs=False, ) self._VerifyTestDerived( type_info.Items["test_derived_ref3"], verify_derived_refs=False, ) self._VerifyTestDerived( type_info.Items["test_derived_ref4"], verify_derived_refs=False, ) self._VerifyTestDerived( type_info.Items["test_derived_ref5"].ElementTypeInfo, verify_derived_refs=False, )
def test_TypeInfo(self): self._VerifyTestDerived(self._element.TypeInfo) self.assertEqual(self._element.TypeInfo.Arity, Arity(1, 1))
def test_DerivedRef4(self): element = self._element.Children[14] self.assertEqual(element.Name, "test_derived_ref4") self._VerifyTestDerived(element.TypeInfo) self.assertEqual(element.TypeInfo.Arity, Arity(30, 30))
def test_DerivedRef3(self): element = self._element.Children[13] self.assertEqual(element.Name, "test_derived_ref3") self._VerifyTestDerived(element.TypeInfo) self.assertEqual(element.TypeInfo.Arity, Arity(10, 10))
_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('?')))
parser = _FromParser() result = parser.Pushed_ItemFromJson(item, always_include_optional, process_additional_data) return result # ---------------------------------------------------------------------- # | # | TypeInfo # | # ---------------------------------------------------------------------- ChangeInfo_TypeInfo = AnyOfTypeInfo( arity=Arity(min=1, max_or_none=1), type_info_list=[ DictTypeInfo(arity=Arity(min=1, max_or_none=1), items={ "id": StringTypeInfo(arity=Arity(min=1, max_or_none=1), min_length=1), "author": StringTypeInfo(arity=Arity(min=1, max_or_none=1), min_length=1), "date": DateTimeTypeInfo(arity=Arity(min=1, max_or_none=1)), "description": StringTypeInfo(arity=Arity(min=1, max_or_none=1), min_length=0), "branch":
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))