public void It_maps_relations_to_collections_of_proxy_objects() { const string relationName = "Children"; var firstChildObjectId = ObjectId.NewUniqueId(); var secondChildObjectId = ObjectId.NewUniqueId(); var parentObjectState = new ObjectState(objectId, objectTypeId); parentObjectState.Attach(firstChildObjectId, relationName); parentObjectState.Attach(secondChildObjectId, relationName); dataFacadeMock.Setup(x => x.GetById(objectId, changeSetId)).Returns(parentObjectState); dataFacadeMock.Setup(x => x.GetById(firstChildObjectId, changeSetId)).Returns(new ObjectState(firstChildObjectId, objectTypeId)); dataFacadeMock.Setup(x => x.GetById(secondChildObjectId, changeSetId)).Returns(new ObjectState(secondChildObjectId, objectTypeId)); var snapshot = objectFacade.GetSnapshot(changeSetId); var o = snapshot.GetById <TestingObject>(objectId); var collection = o.Children; Assert.AreEqual(2, collection.Count()); }
public void Getting_object_reference_by_traversing_a_relation_preserves_identity_property() { var parentObjectId = ObjectId.NewUniqueId(); var thisObjectState = new ObjectState(objectId, objectTypeId); thisObjectState.Attach(parentObjectId, "Parent"); var parentObjectState = new ObjectState(parentObjectId, objectTypeId); parentObjectState.Attach(objectId, "Children"); dataFacadeMock.Setup(x => x.GetById(objectId, changeSetId)).Returns(thisObjectState); dataFacadeMock.Setup(x => x.GetById(parentObjectId, changeSetId)).Returns(parentObjectState); var snapshot = objectFacade.GetSnapshot(changeSetId); var objectDirectly = snapshot.GetById<TestingObject>(objectId); var chidViaParentViaChild = objectDirectly.Parent.Children.First(); Assert.AreSame(chidViaParentViaChild, objectDirectly); }
public void It_maps_non_single_valued_relations_to_refefences_to_proxy_objects() { const string relationName = "Parent"; var parentObjectId = ObjectId.NewUniqueId(); var thisObjectState = new ObjectState(objectId, objectTypeId); thisObjectState.Attach(parentObjectId, relationName); dataFacadeMock.Setup(x => x.GetById(objectId, changeSetId)).Returns(thisObjectState); dataFacadeMock.Setup(x => x.GetById(parentObjectId, changeSetId)).Returns(new ObjectState(parentObjectId, objectTypeId)); var snapshot = objectFacade.GetSnapshot(changeSetId); var o = snapshot.GetById <TestingObject>(objectId); var parent = o.Parent; Assert.IsNotNull(parent); }
public void Getting_object_reference_by_traversing_a_relation_preserves_identity_property() { var parentObjectId = ObjectId.NewUniqueId(); var thisObjectState = new ObjectState(objectId, objectTypeId); thisObjectState.Attach(parentObjectId, "Parent"); var parentObjectState = new ObjectState(parentObjectId, objectTypeId); parentObjectState.Attach(objectId, "Children"); dataFacadeMock.Setup(x => x.GetById(objectId, changeSetId)).Returns(thisObjectState); dataFacadeMock.Setup(x => x.GetById(parentObjectId, changeSetId)).Returns(parentObjectState); var snapshot = objectFacade.GetSnapshot(changeSetId); var objectDirectly = snapshot.GetById <TestingObject>(objectId); var chidViaParentViaChild = objectDirectly.Parent.Children.First(); Assert.AreSame(chidViaParentViaChild, objectDirectly); }
public void It_maps_non_single_valued_relations_to_refefences_to_proxy_objects() { const string relationName = "Parent"; var parentObjectId = ObjectId.NewUniqueId(); var thisObjectState = new ObjectState(objectId, objectTypeId); thisObjectState.Attach(parentObjectId, relationName); dataFacadeMock.Setup(x => x.GetById(objectId, changeSetId)).Returns(thisObjectState); dataFacadeMock.Setup(x => x.GetById(parentObjectId, changeSetId)).Returns(new ObjectState(parentObjectId, objectTypeId)); var snapshot = objectFacade.GetSnapshot(changeSetId); var o = snapshot.GetById<TestingObject>(objectId); var parent = o.Parent; Assert.IsNotNull(parent); }
public void It_maps_relations_to_collections_of_proxy_objects() { const string relationName = "Children"; var firstChildObjectId = ObjectId.NewUniqueId(); var secondChildObjectId = ObjectId.NewUniqueId(); var parentObjectState = new ObjectState(objectId, objectTypeId); parentObjectState.Attach(firstChildObjectId, relationName); parentObjectState.Attach(secondChildObjectId, relationName); dataFacadeMock.Setup(x => x.GetById(objectId, changeSetId)).Returns(parentObjectState); dataFacadeMock.Setup(x => x.GetById(firstChildObjectId, changeSetId)).Returns(new ObjectState(firstChildObjectId, objectTypeId)); dataFacadeMock.Setup(x => x.GetById(secondChildObjectId, changeSetId)).Returns(new ObjectState(secondChildObjectId, objectTypeId)); var snapshot = objectFacade.GetSnapshot(changeSetId); var o = snapshot.GetById<TestingObject>(objectId); var collection = o.Children; Assert.AreEqual(2, collection.Count()); }