public void Test_Map_WhenSingleRelationshipToSubClass_WhenIDPropDeclaredInClassDefXml_ShouldSetRelatedPropToNonStandardID_FixBug1355() { //---------------Set up test pack------------------- var superClassDef = SuperClassWithPKFromClassDef.LoadClassDef();//Loaded from XML var defCol = new ClassDefCol { superClassDef }; var subClassWithPKFromClassDef = typeof(SubClassWithPKFromClassDef); var relatedToSubClassWithPKFromClassDefType = typeof(RelatedToSubClassWithPKFromClassDef); var source = new FakeTypeSource(new[] { subClassWithPKFromClassDef, relatedToSubClassWithPKFromClassDefType }); AllClassesAutoMapper.ClassDefCol = defCol; var allClassesAutoMapper = new AllClassesAutoMapper(source); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var classDefCol = allClassesAutoMapper.Map(); //---------------Test Result ----------------------- var relatedToSubClassWithPKFromClassDef = classDefCol.FindByClassName(relatedToSubClassWithPKFromClassDefType.Name); Assert.AreEqual(1, relatedToSubClassWithPKFromClassDef.RelationshipDefCol.Count); var subClassWithPKFromClassDefRelDef = relatedToSubClassWithPKFromClassDef.RelationshipDefCol["SubClassWithPKFromClassDefSingleRel"]; Assert.AreEqual(1, subClassWithPKFromClassDefRelDef.RelKeyDef.Count, "Should have a non composite Key"); var relPropDef = subClassWithPKFromClassDefRelDef.RelKeyDef.FirstOrDefault(); Assert.AreEqual("SubClassWithPKFromClassDefSingleRelID", relPropDef.OwnerPropertyName); Assert.AreEqual("MYPKID", relPropDef.RelatedClassPropName); }
public void Test_Map_WhenSingleRelationshipToSubClass_WhenIDPropDeclaredInClassDefXml_ShouldNotCreatePropDefOnSubClass() { //---------------Set up test pack------------------- var superClassDef = SuperClassWithPKFromClassDef.LoadClassDef();//Loaded from XML var defCol = new ClassDefCol { superClassDef }; var subClassWithPKFromClassDef = typeof(SubClassWithPKFromClassDef); var relatedToSubClassWithPKFromClassDefType = typeof(RelatedToSubClassWithPKFromClassDef); var source = new FakeTypeSource(new[] { subClassWithPKFromClassDef, relatedToSubClassWithPKFromClassDefType }); AllClassesAutoMapper.ClassDefCol = defCol; var allClassesAutoMapper = new AllClassesAutoMapper(source); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var classDefCol = allClassesAutoMapper.Map(); //---------------Test Result ----------------------- var relatedToSubClassWithPKFromClassDef = classDefCol.FindByClassName(subClassWithPKFromClassDef.Name); relatedToSubClassWithPKFromClassDef.PropDefcol.ShouldNotContain(def => def.PropertyName == "MYPKID"); }