public void TestWithUnknownRelatedType() { //---------------Set up test pack------------------- DefClassFactory defClassFactory = new DefClassFactory(); XmlRelationshipLoader loader = new XmlRelationshipLoader(new DtdLoader(), defClassFactory, "TestClass"); IPropDefCol propDefs = defClassFactory.CreatePropDefCol(); propDefs.Add(defClassFactory.CreatePropDef("TestProp", "System", "String", PropReadWriteRule.ReadWrite, null, null, false, false, 255, null, null, false)); RelationshipDef relDef = (RelationshipDef)loader.LoadRelationship( @"<relationship name=""TestRelationship"" type=""single"" relatedClass=""Habanero.Test.BO.Loaders.NonExistantTestRelatedClass"" relatedAssembly=""Habanero.Test.BO"" > <relatedProperty property=""TestProp"" relatedProperty=""TestRelatedProp"" /> </relationship>" , propDefs); //---------------Execute Test ---------------------- try { Type classType = relDef.RelatedObjectClassType; Assert.Fail("Expected to throw an UnknownTypeNameException"); } //---------------Test Result ----------------------- catch (UnknownTypeNameException ex) { StringAssert.Contains("Unable to load the related object type while attempting to load a relationship definition", ex.Message); } }
public void Test_LoadInheritedRelationship_UsingInheritedRelatedProps() { DefClassFactory defClassFactory = new DefClassFactory(); XmlRelationshipLoader loader = new XmlRelationshipLoader(new DtdLoader(), defClassFactory, "TestClass"); IPropDefCol propDefs = defClassFactory.CreatePropDefCol(); propDefs.Add(defClassFactory.CreatePropDef("TestProp", "System", "String", PropReadWriteRule.ReadWrite, null, null, false, false, 255, null, null, false)); RelationshipDef relDef = (RelationshipDef)loader.LoadRelationship( @"<relationship name=""TestRelationship"" type=""single"" relatedClass=""Habanero.Test.BO.Loaders.NonExistantTestRelatedClass"" relatedAssembly=""Habanero.Test.BO"" > <relatedProperty property=""TestProp"" relatedProperty=""TestRelatedProp"" /> </relationship>" , propDefs); Type classType = relDef.RelatedObjectClassType; }