Ejemplo n.º 1
0
        public void IsDirty_NothingChanged_False()
        {
            var model   = new FlatAggregate();
            var tracker = new AggregateDirtyTracker <FlatAggregate>(model);

            Assert.IsFalse(tracker.IsDirty);
        }
Ejemplo n.º 2
0
        public void IsDirty_ChangeDateTime_True()
        {
            var model   = new FlatAggregate();
            var tracker = new AggregateDirtyTracker <FlatAggregate>(model);

            model.DateOfBirth = new DateTime(2000, 01, 01);

            Assert.IsTrue(tracker.IsDirty);
        }
Ejemplo n.º 3
0
        public void IsDirty_ChangeInt_True()
        {
            var model   = new FlatAggregate();
            var tracker = new AggregateDirtyTracker <FlatAggregate>(model);

            model.Age = 22;

            Assert.IsTrue(tracker.IsDirty);
        }
Ejemplo n.º 4
0
        public void IsDirty_ChangeString_True()
        {
            var model   = new FlatAggregate();
            var tracker = new AggregateDirtyTracker <FlatAggregate>(model);

            model.Name = "Jane Doe";

            Assert.IsTrue(tracker.IsDirty);
        }
Ejemplo n.º 5
0
        public void Persist_NoneUpdated_DatabaseNotCalled()
        {
            var trackedCollection = new TrackedModelCollection <FlatAggregate>();
            var model1            = new FlatAggregate();
            var model2            = new FlatAggregate();

            trackedCollection.Existing(model1);
            trackedCollection.Existing(model2);

            var persister = new TrackedModelPersister <FlatAggregate>();
            var changes   = persister.GetChangesForWrite(trackedCollection).ToArray();

            Assert.AreEqual(0, changes.Count());
        }
Ejemplo n.º 6
0
        public void Persist_SingleUpdated_Success()
        {
            var trackedCollection = new TrackedModelCollection <FlatAggregate>();
            var model             = new FlatAggregate();

            trackedCollection.Existing(model);
            model.Name = "Jane Doe";

            var persister = new TrackedModelPersister <FlatAggregate>();
            var changes   = persister.GetChangesForWrite(trackedCollection).ToArray();

            Assert.AreEqual(1, changes.Count());
            AssertModelsUpdated(changes, model.Id);
        }
Ejemplo n.º 7
0
        private static FlatAggregate GetTrackedFlatAggregate(out TrackedModel <FlatAggregate> trackedModel)
        {
            var model = new FlatAggregate()
            {
                Id          = Guid.NewGuid(),
                Name        = "Bob Smith",
                Age         = 20,
                DateOfBirth = new DateTime(2000, 01, 01)
            };
            var trackingCollection = new TrackedModelCollection <FlatAggregate>();

            trackingCollection.Existing(model);
            trackedModel = trackingCollection.Single();
            return(model);
        }
Ejemplo n.º 8
0
        public void Persist_TwoUpdated_Success()
        {
            var trackedCollection = new TrackedModelCollection <FlatAggregate>();
            var model1            = new FlatAggregate();
            var model2            = new FlatAggregate();

            trackedCollection.Existing(model1);
            trackedCollection.Existing(model2);
            model1.Name = "Jane Doe";
            model2.Name = "Bob Sinclair";

            var persister = new TrackedModelPersister <FlatAggregate>();
            var changes   = persister.GetChangesForWrite(trackedCollection).ToArray();

            Assert.AreEqual(2, changes.Count());
            AssertModelsUpdated(changes, model1.Id, model2.Id);
        }