public void Test_GetValidRelationshipValue_ShouldRetValidValue()
 {
     //---------------Set up test pack-------------------
     var relationship = new BOTestFactory(typeof(FakeBO)).CreateValidBusinessObject().Relationships["NonCompulsoryRelationship"] as ISingleRelationship;
     var factory = new BOTestFactory(typeof(FakeBO));
     //---------------Assert Precondition----------------
     Assert.IsNotNull(relationship);
     Assert.IsNull(relationship.GetRelatedObject());
     //---------------Execute Test ----------------------
     var validRelationshipValue = factory.GetValidRelationshipValue(relationship.RelationshipDef as ISingleValueDef);
     //---------------Test Result -----------------------
     Assert.IsNotNull(validRelationshipValue);
     Assert.AreSame(validRelationshipValue.ClassDef, relationship.RelatedObjectClassDef);
 }
 public void Test_GetValidValue_WithBO_WhenIsRelationship_ShouldRetValidValue()
 {
     //---------------Set up test pack-------------------
     const string relName = "NonCompulsoryRelationship";
     Type boType = typeof(FakeBO);
     var relationship = new BOTestFactory(boType).CreateValidBusinessObject().Relationships[relName] as ISingleRelationship;
     var factory = new BOTestFactory(boType);
     //---------------Assert Precondition----------------
     Assert.IsNotNull(relationship);
     Assert.IsNull(relationship.GetRelatedObject());
     //---------------Execute Test ----------------------
     object validValue = factory.GetValidValue(new FakeBO(),relName);
     //---------------Test Result -----------------------
     Assert.IsNotNull(validValue);
     Assert.IsInstanceOf<IBusinessObject>(validValue);
     var validRelationshipValue = validValue as IBusinessObject;
     Assert.IsNotNull(validRelationshipValue);
     Assert.AreSame(validRelationshipValue.ClassDef, relationship.RelatedObjectClassDef);
 }