public void Associate_GetAssociatedEntities() { ChangeSet changeSet = new ChangeSet(this.GenerateEntityOperations(true)); MockEntity1 clientEntity1 = changeSet.ChangeSetEntries.Select(e => e.Entity).OfType <MockEntity1>().First(); MockEntity2 clientEntity2 = changeSet.ChangeSetEntries.Select(e => e.Entity).OfType <MockEntity2>().First(); MockStoreEntity storeEntity = new MockStoreEntity(); changeSet.Associate(clientEntity1, storeEntity, (c, s) => { }); changeSet.Associate(clientEntity2, storeEntity, (c, s) => { }); IEnumerable <MockEntity1> clientEntities1 = changeSet.GetAssociatedEntities <MockEntity1, MockStoreEntity>(storeEntity); Assert.IsNotNull(clientEntities1, "Expected to clientEntities1 to not be null."); Assert.AreEqual(1, clientEntities1.Count(), "Expected to find 1 clientEntity entry."); Assert.AreSame(clientEntity1, clientEntities1.Single(), "Expected to find clientEntity1."); IEnumerable <MockEntity2> clientEntities2 = changeSet.GetAssociatedEntities <MockEntity2, MockStoreEntity>(storeEntity); Assert.IsNotNull(clientEntities2, "Expected to clientEntities to not be null."); Assert.AreEqual(1, clientEntities2.Count(), "Expected to find 1 clientEntity entry."); Assert.AreSame(clientEntity2, clientEntities2.Single(), "Expected to find clientEntity2."); IEnumerable <object> clientEntities3 = changeSet.GetAssociatedEntities <object, MockStoreEntity>(storeEntity); Assert.IsNotNull(clientEntities3, "Expected to clientEntities to not be null."); Assert.AreEqual(2, clientEntities3.Count(), "Expected to find 2 clientEntity entries."); Assert.IsTrue(clientEntities3.Contains(clientEntity1), "Expected to find clientEntity1."); Assert.IsTrue(clientEntities3.Contains(clientEntity2), "Expected to find clientEntity2."); }
private IEnumerable <ChangeSetEntry> GenerateEntityOperations(bool alternateTypes) { List <ChangeSetEntry> ops = new List <ChangeSetEntry>(10); int id = 1; for (int i = 0; i < ops.Capacity; ++i) { object entity, originalEntity; if (!alternateTypes || i % 2 == 0) { entity = new MockEntity1() { FullName = String.Format("FName{0} LName{0}", i) }; originalEntity = new MockEntity1() { FullName = String.Format("OriginalFName{0} OriginalLName{0}", i) }; } else { entity = new MockEntity2() { FullNameAndID = String.Format("FName{0} LName{0} ID{0}", i) }; originalEntity = new MockEntity2() { FullNameAndID = String.Format("OriginalFName{0} OriginalLName{0} OriginalID{0}", i) }; } ops.Add(new ChangeSetEntry { Id = id++, Entity = entity, OriginalEntity = originalEntity, Operation = ChangeOperation.Update }); } return(ops); }
protected bool Equals(MockEntity2 other) { return base.Equals(other) && string.Equals(FriendlyName, other.FriendlyName); }
private IEnumerable<ChangeSetEntry> GenerateEntityOperations(bool alternateTypes) { List<ChangeSetEntry> ops = new List<ChangeSetEntry>(10); int id = 1; for (int i = 0; i < ops.Capacity; ++i) { object entity, originalEntity; if (!alternateTypes || i % 2 == 0) { entity = new MockEntity1() { FullName = String.Format("FName{0} LName{0}", i) }; originalEntity = new MockEntity1() { FullName = String.Format("OriginalFName{0} OriginalLName{0}", i) }; } else { entity = new MockEntity2() { FullNameAndID = String.Format("FName{0} LName{0} ID{0}", i) }; originalEntity = new MockEntity2() { FullNameAndID = String.Format("OriginalFName{0} OriginalLName{0} OriginalID{0}", i) }; } ops.Add(new ChangeSetEntry { Id = id++, Entity = entity, OriginalEntity = originalEntity, Operation = ChangeOperation.Update }); } return ops; }
protected bool Equals(MockEntity2 other) { return(base.Equals(other) && string.Equals(FriendlyName, other.FriendlyName)); }