public void Provider_Property() { using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { Assert.Equal(repository.ObjectContext.CreateObjectSet <EFModelEntity>().AsQueryable().Provider.ToString(), repository.Provider.ToString()); } }
public void Dispose() { using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { repository.DeleteAll().Commit(); } }
public void ElementType_Property() { using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { Assert.True(ReferenceEquals(repository.ObjectContext.CreateObjectSet <EFModelEntity>().AsQueryable().ElementType, repository.ElementType)); } }
public void Transaction_Method() { using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { Assert.NotNull(repository.Transaction()); } }
public void Persist_Method() { Assert.Throws <ArgumentNullException>(() => new EFModelRepository <EFModelEntity>(this.connectionString).Persist(null)); var entity = new EFModelEntity { Name = "first" }; using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { 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 Delete_Method() { Assert.Throws <ArgumentNullException>(() => new EFModelRepository <EFModelEntity>(this.connectionString).Delete(null)); var entity = new EFModelEntity(); using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { Assert.Throws <InvalidOperationException>(() => repository.Delete(entity)); Assert.False(repository.Persist(entity).Delete(entity).Commit().Any()); } }
public void Dispose_Method() { var entity = new EFModelEntity(); using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { repository.Persist(entity).Dispose(); Assert.Throws <ObjectDisposedException>(() => repository.Single()); repository.Dispose(); } }
public void DeleteAll_Method() { using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { Assert.True(ReferenceEquals(repository.DeleteAll(), repository)); Assert.False(repository.Commit().Any()); repository.Persist(new EFModelEntity()).Persist(new EFModelEntity()); Assert.Equal(2, repository.Commit().Count()); repository.DeleteAll(); Assert.False(repository.Commit().Any()); } }
public void GetEnumerator_Method() { var entity = new EFModelEntity(); using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { Assert.False(repository.GetEnumerator().MoveNext()); repository.Persist(entity).Commit(); var enumerator = repository.GetEnumerator(); Assert.True(enumerator.MoveNext()); Assert.False(enumerator.MoveNext()); } }
public void Commit_Method() { var entity = new EFModelEntity(); using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { 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()); } }
public void Refresh_Method() { Assert.Throws <ArgumentNullException>(() => new EFModelRepository <EFModelEntity>(this.connectionString).Refresh(null)); var entity = new EFModelEntity { Name = "first" }; using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { Assert.Throws <InvalidOperationException>(() => repository.Refresh(entity)); repository.Persist(entity).Commit(); var originalId = entity.Id; var originalName = entity.Name; entity.Name = "second"; Assert.True(ReferenceEquals(repository.Refresh(entity), repository)); Assert.Equal(originalId, entity.Id); Assert.Equal(originalName, entity.Name); } }
public void Constructors() { Assert.Throws <ArgumentNullException>(() => new EFModelRepository <EFModelEntity>((ObjectContext)null)); Assert.Throws <ArgumentNullException>(() => new EFModelRepository <EFModelEntity>((string)null)); Assert.Throws <ArgumentException>(() => new EFModelRepository <EFModelEntity>(string.Empty)); var objectContext = new ObjectContext(this.connectionString); using (var repository = new EFModelRepository <EFModelEntity>(objectContext)) { Assert.True(ReferenceEquals(repository.ObjectContext, objectContext)); Assert.True(ReferenceEquals(repository.Field("objectSet").To <ObjectSet <EFModelEntity> >().Context, repository.Field("objectContext").To <ObjectContext>())); Assert.False(repository.Field("ownsContext").To <bool>()); } using (var repository = new EFModelRepository <EFModelEntity>(this.connectionString)) { Assert.False(ReferenceEquals(repository.ObjectContext, objectContext)); Assert.Equal(this.connectionString, repository.ObjectContext.Connection.ConnectionString); Assert.True(ReferenceEquals(repository.Field("objectSet").To <ObjectSet <EFModelEntity> >().Context, repository.Field("objectContext").To <ObjectContext>())); Assert.True(repository.Field("ownsContext").To <bool>()); } }