public void Remove_persisted_entity2()
        {
            MockEntity entity = new MockEntity();

            MockEntityTwo persistedLocation = new MockEntityTwo()
            {
                id = int.MaxValue
            };

            persistedLocation.MarkPersisted();
            MockEntityOne persistedContract = new MockEntityOne()
            {
                id = int.MinValue
            };

            persistedContract.MarkPersisted();
            MockEntity persistedServiceContractSiteContact = new MockEntity()
            {
                IsDeleted = true
            };

            persistedServiceContractSiteContact.MarkPersisted();
            entity.RelationalEntities.Add(persistedServiceContractSiteContact);

            DualDbEntityAssociativeCollectionManager <MockEntityOne, MockEntityTwo, MockEntity> manager = new DualDbEntityAssociativeCollectionManager <MockEntityOne, MockEntityTwo, MockEntity>(1, entity, () => entity.RelationalEntities, null, null, null, (o, ae) => true, (e1, ae) => true, (e2, ae) => true);

            MockEntity removed = manager.Remove(persistedLocation).Single();

            Assert.AreEqual(1, entity.RelationalEntities.Count);
            Assert.AreEqual(persistedServiceContractSiteContact, removed);
            Assert.IsTrue(removed.IsDeleted);
        }
Ejemplo n.º 2
0
        public void EntityCreatedEventShouldBeAdded()
        {
            //When
            var mockEntity = new MockEntityOne();

            //Then
            Assert.True(mockEntity.AllEvents.Any(eventStream => eventStream.GetType() == typeof(EntityCreated)), "EntityCreated event not added");
        }
Ejemplo n.º 3
0
        public void EntityShouldBePersisted()
        {
            //Given
            var mockEntity = new MockEntityOne();

            //When
            mockEntity.ApplyEventChanges();
            //Then
            Assert.False(mockEntity.IsTransient());
        }
Ejemplo n.º 4
0
        public void FooItemShouldBeAdded()
        {
            //Given
            var mockEntity = new MockEntityOne();

            mockEntity.AddFoos("foo1");
            mockEntity.AddFoos("foo2");
            //When
            mockEntity.ApplyEventChanges();
            //Then
            Assert.True(mockEntity.Foos.Contains("foo1") && mockEntity.Foos.Contains("foo2"));
        }
Ejemplo n.º 5
0
        public void EntityShouldBeCopied()
        {
            var mockEntity = new MockEntityOne();

            mockEntity.ApplyEventChanges();

            var events = new List <EventStream>(mockEntity.AllEvents);

            var copiedMockEntity = new MockEntityOne();

            copiedMockEntity.LoadFromHistory(events);

            Assert.True(copiedMockEntity == mockEntity);
        }
Ejemplo n.º 6
0
        public void CopiedEntityAndOriginalEntityShouldHaveTheSameEvents()
        {
            var mockEntity = new MockEntityOne();

            mockEntity.AddFoos("foo1");
            mockEntity.SetBar(2);
            mockEntity.ApplyEventChanges();

            var events = new List <EventStream>(mockEntity.AllEvents);

            var copiedMockEntity = new MockEntityOne();

            copiedMockEntity.LoadFromHistory(events);

            Assert.True(copiedMockEntity.AllEvents
                        .Any(eventStream => eventStream.GetType() == typeof(FoosAdded)), "FoosAdded event is not in the copiedMockEntity");
        }
Ejemplo n.º 7
0
        public void CopiedEntityShouldHaveHigherVersionThanTheOriginalEntity()
        {
            var mockEntity = new MockEntityOne();

            mockEntity.AddFoos("foo1");
            mockEntity.AddFoos("foo2");
            mockEntity.SetBar(2);

            mockEntity.ApplyEventChanges();

            var events = new List <EventStream>(mockEntity.AllEvents);

            var copiedMockEntity = new MockEntityOne();

            copiedMockEntity.LoadFromHistory(events);

            Assert.True(mockEntity.Version < copiedMockEntity.Version);
        }
        public void Remove_new_entity2()
        {
            MockEntity    entity      = new MockEntity();
            MockEntityTwo newLocation = new MockEntityTwo()
            {
                id = int.MaxValue
            };
            MockEntityOne newContract = new MockEntityOne()
            {
                id = int.MinValue
            };
            MockEntity newServiceContractSiteContact = new MockEntity()
            {
                IsDeleted = true
            };

            entity.RelationalEntities.Add(newServiceContractSiteContact);
            DualDbEntityAssociativeCollectionManager <MockEntityOne, MockEntityTwo, MockEntity> manager = new DualDbEntityAssociativeCollectionManager <MockEntityOne, MockEntityTwo, MockEntity>(1, entity, () => entity.RelationalEntities, null, null, null, (o, ae) => true, (e1, ae) => true, (e2, ae) => true);

            MockEntity removed = manager.Remove(newContract).Single();

            Assert.AreEqual(0, entity.RelationalEntities.Count);
            Assert.AreEqual(newServiceContractSiteContact, removed);
        }