public void Persist_Method() { Assert.Throws <ArgumentNullException>(() => new EFCodeFirstRepository <TestEntity>(new TestContext()).Persist(null)); var entity = new TestEntity { Name = "first" }; using (var repository = new EFCodeFirstRepository <TestEntity>(new TestContext())) { Assert.False(repository.Any()); Assert.True(ReferenceEquals(repository.Persist(entity), repository)); repository.Commit(); entity = repository.Single(); Assert.NotEqual(0, entity.Id); Assert.Equal("first", entity.Name); entity.Name = "second"; repository.Commit(); entity = repository.Single(); Assert.NotEqual(0, entity.Id); Assert.Equal("second", entity.Name); Assert.Equal(1, repository.Count(x => x.Name == "second")); Assert.Equal("second", repository.Single(x => x.Name == "second").Name); } }
public void DeleteAll_Method() { using (var repository = new EFCodeFirstRepository <TestEntity>(new TestContext())) { Assert.True(ReferenceEquals(repository.DeleteAll(), repository)); Assert.False(repository.Commit().Any()); repository.Persist(new TestEntity()).Persist(new TestEntity()); Assert.Equal(2, repository.Commit().Count()); repository.DeleteAll(); Assert.False(repository.Commit().Any()); } }
public void Commit_Method() { var entity = new TestEntity(); using (var repository = new EFCodeFirstRepository <TestEntity>(new TestContext())) { Assert.False(repository.Any()); Assert.True(ReferenceEquals(repository.Persist(entity).Commit(), repository)); Assert.True(ReferenceEquals(repository.Single(), entity)); repository.Delete(entity); Assert.True(ReferenceEquals(repository.Single(), entity)); repository.Commit(); Assert.False(repository.Any()); } }