public void Existing_Single_Success() { var collection = new TrackedModelCollection <BlankAggregate>(); var model = new BlankAggregate(); Assert.DoesNotThrow(() => { collection.Existing(model); }); Assert.AreEqual(model, collection.OfState(TrackedModelState.Existing).SingleOrDefault()?.Model); }
public void Remove_SingleExisting_Success() { var collection = new TrackedModelCollection <BlankAggregate>(); var model = new BlankAggregate(); collection.Existing(model); Assert.DoesNotThrow(() => { collection.Remove(model); }); CollectionAssert.Contains(collection.OfState(TrackedModelState.Removed).Select(m => m.Model), model); }
public void Add_Multiple_Success() { var collection = new TrackedModelCollection <BlankAggregate>(); var model1 = new BlankAggregate(); var model2 = new BlankAggregate(); Assert.DoesNotThrow(() => { collection.New(model1); collection.New(model2); }); var addedModels = collection.OfState(TrackedModelState.New).Select(m => m.Model).ToList(); Assert.AreEqual(2, addedModels.Count()); Assert.Contains(model1, addedModels); Assert.Contains(model2, addedModels); }
public void Remove_MultipleExisting_Success() { var collection = new TrackedModelCollection <BlankAggregate>(); var model1 = new BlankAggregate(); var model2 = new BlankAggregate(); collection.Existing(model1); collection.Existing(model2); Assert.DoesNotThrow(() => { collection.Remove(model1); collection.Remove(model2); }); var removedModels = collection.OfState(TrackedModelState.Removed).Select(m => m.Model).ToList(); CollectionAssert.Contains(removedModels, model1); CollectionAssert.Contains(removedModels, model2); }