public void Delete_Loop_With_Cache_And_Ef() { var cachingStrategy = new StandardCachingStrategy <Contact, string>(); var dbPath = EfDataDirectoryFactory.Build(); Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); var repository = new EfRepository <Contact, string>(new TestObjectEntities("Data Source=" + dbPath), cachingStrategy); repository.Add(new Contact() { ContactId = "1", Name = "Contact1", ContactTypeId = 1 }); repository.Add(new Contact() { ContactId = "2", Name = "Contact2", ContactTypeId = 2 }); repository.Add(new Contact() { ContactId = "3", Name = "Contact3", ContactTypeId = 2 }); repository.FindAll(x => x.ContactTypeId == 2); repository = new EfRepository <Contact, string>(new TestObjectEntities("Data Source=" + dbPath), cachingStrategy); repository.Delete(x => x.ContactTypeId == 2); }
public async Task <ServiceResponse <FirmDto> > AddAsync(ClaimsPrincipal claims, FirmDto request) { var response = new ServiceResponse <FirmDto>(); var user = await _userManager.FindByIdAsync(claims.GetUserId()); var firm = _mapper.Map <Firm>(request); var firmUser = new FirmUser() { Firm = firm, User = user, Permission = Permission.Manage }; _repository.Add(firm); _repository.Add(firmUser); var result = await _repository.CommitAsnyc(); if (result == 0) { response.FailOperation(); return(response); } response.Data = _mapper.Map <FirmDto>(firm); return(response); }
//[SetUp] public void SetUp(int record) { _db = new EntityMapperDbContext(); var testData = _db.TestDatas.Take(record).ToList(); _authAdapter = new IdentityAuthAdapter(); _sourceIds = new List <int>(); _destinationIds = new List <int>(); var domainCrud = new EfRepository <Domain>(_db, _authAdapter); var domain = domainCrud.Add(new Domain { Name = "Fruit", Active = true }); var systemCrud = new EfRepository <global::Data.Models.System>(_db, _authAdapter); var sourceSystem = systemCrud.Add(new global::Data.Models.System { Domain = domain, Name = "QualityControl", Active = true }); var destinationSystem = systemCrud.Add(new global::Data.Models.System { Domain = domain, Name = "Labour", Active = true }); _sourceSystemId = sourceSystem.Id; _destinationSystemId = destinationSystem.Id; foreach (var source in testData.Select(t => t.Source)) { var entityCrud = new EfRepository <Entity>(_db, _authAdapter); var entity = entityCrud.Add(new Entity { SystemId = _sourceSystemId, Name = source.Trim(), Active = true }); _sourceIds.Add(entity.Id); } foreach (var destination in testData.Select(t => t.Destination)) { var entityCrud = new EfRepository <Entity>(_db, _authAdapter); var entity = entityCrud.Add(new Entity { SystemId = _destinationSystemId, Name = destination.Trim(), Active = true }); _destinationIds.Add(entity.Id); } }
public void Setup() { //Prefill _authAdapter = new IdentityAuthAdapter(); _db = new EntityMapperDbContext(); var domainCrud = new EfRepository <Domain>(_db, _authAdapter); var domain = domainCrud.Add(new Domain { Name = "Fruit", Active = true }); var systemCrud = new EfRepository <global::Data.Models.System>(_db, _authAdapter); var sourceSystem = systemCrud.Add(new global::Data.Models.System { Domain = domain, Name = "Export", Active = true }); var destinationSystem = systemCrud.Add(new global::Data.Models.System { Domain = domain, Name = "Import", Active = true }); _sourceSystemId = sourceSystem.Id; _destinationSystemId = destinationSystem.Id; var entityCrud = new EfRepository <Entity>(_db, _authAdapter); entityCrud.Add(new Entity { SystemId = _sourceSystemId, Name = "Commodity", Active = true }); entityCrud.Add(new Entity { SystemId = _destinationSystemId, Name = "commodity", Active = true }); }
public void AddEntities(int record, List <long> times) { SetUp(record); try { var timer = new Stopwatch(); timer.Start(); var entityMappingCrud = new EfRepository <EntityMapping>(_db, _authAdapter); for (var i = 0; i < _sourceIds.Count; i++) { entityMappingCrud.Add(new EntityMapping { MappingOriginId = 1, SourceId = _sourceIds[i], DestinationId = _destinationIds[i], Confirmed = false }); } timer.Stop(); times.Add(timer.ElapsedMilliseconds); var mappings = _db.EntityMappings.Take(record).ToList(); Assert.AreEqual(record, mappings.Count); } catch (Exception) { } TearDown(); }
public void Add_ShouldThrowArgumentNullException_WhenPassedEntityIsNull() { // Arrange var posts = new List <Post> { new Post() { Id = 1, Title = "post", Content = "content" }, new Post() { Id = 2, Title = "post", Content = "content" } }; var mockedDbContext = new Mock <MsSqlDbContext>(); var mockedPostSet = QueryableDbSetMock.GetQueryableMockDbSet <Post>(posts); mockedDbContext.Setup(c => c.Set <Post>()).Returns(mockedPostSet); mockedDbContext.Setup(c => c.Posts).Returns(mockedPostSet); string expectedExceptionMessage = "entity"; var repositoryUnderTest = new EfRepository <Post>(mockedDbContext.Object); // Act & Assert var exc = Assert.Throws <ArgumentNullException>(() => repositoryUnderTest.Add(null)); // Assert StringAssert.Contains(expectedExceptionMessage, exc.Message); }
public void RepoAdd_Adds() { // Arrange var stubDateProvider = new Mock <IRepoTimeProvider>(); var options = new DbContextOptionsBuilder <ITestDbContext>() .UseInMemoryDatabase(databaseName: "RepoAdd_Adds") .Options; var stubContext = new ITestDbContext(options); var stubRepo = new EfRepository <Answer>(stubContext, stubDateProvider.Object); var expectedCount = 1; var answer = new Answer() { Content = "MitkoTheEyes" }; stubRepo.Add(answer); stubContext.SaveChanges(); //act var foundAnswers = stubRepo.All; //assert Assert.AreEqual(expectedCount, foundAnswers.Count()); }
public void Delete_SetsCorrectDateTime() { // Arrange var stubDateProvider = new Mock <IRepoTimeProvider>(); var someDate = new DateTime(2017, 1, 18); stubDateProvider.Setup(x => x.GetDateTimeNow()).Returns(someDate); var options = new DbContextOptionsBuilder <ITestDbContext>() .UseInMemoryDatabase(databaseName: "Delete_SetsCorrectDateTime") .Options; var stubContext = new ITestDbContext(options); var stubRepo = new EfRepository <Answer>(stubContext, stubDateProvider.Object); var answerToBeDeteletd = new Answer() { Content = "ChefichaCold" }; //act stubRepo.Add(answerToBeDeteletd); stubContext.SaveChanges(); stubRepo.Delete(answerToBeDeteletd); stubContext.SaveChanges(); var foundDeletedAnswer = stubRepo.AllAndDeleted.First(); //assert Assert.AreEqual(someDate, foundDeletedAnswer.DeletedOn); }
public void Delete_RemovesEntityFromRepoAll() { // Arrange var stubDateProvider = new Mock <IRepoTimeProvider>(); stubDateProvider.Setup(x => x.GetDateTimeNow()).Returns(new DateTime(2017, 1, 18)); var options = new DbContextOptionsBuilder <ITestDbContext>() .UseInMemoryDatabase(databaseName: "Delete_RemovesEntityFromRepoAll") .Options; var stubContext = new ITestDbContext(options); var stubRepo = new EfRepository <Answer>(stubContext, stubDateProvider.Object); var answerToBeDeteletd = new Answer() { Content = "MitkoTheBoss" }; //act stubRepo.Add(answerToBeDeteletd); stubContext.SaveChanges(); stubRepo.Delete(answerToBeDeteletd); stubContext.SaveChanges(); //assert Assert.AreEqual(0, stubRepo.All.Count()); Assert.AreEqual(1, stubRepo.AllAndDeleted.Count()); }
public void Update_UpdatesPropertiesCorrect() { // Arrange var stubDateProvider = new Mock <IRepoTimeProvider>(); stubDateProvider.Setup(x => x.GetDateTimeNow()).Returns(new DateTime(2017, 1, 18)); var options = new DbContextOptionsBuilder <ITestDbContext>() .UseInMemoryDatabase(databaseName: "Update_UpdatesPropertiesCorrect") .Options; var stubContext = new ITestDbContext(options); var stubRepo = new EfRepository <Answer>(stubContext, stubDateProvider.Object); var answerToBeUpdated = new Answer() { Correct = false, Content = "Petko" }; //act stubRepo.Add(answerToBeUpdated); stubContext.SaveChanges(); answerToBeUpdated.Correct = true; answerToBeUpdated.Content = "MartoStamatov"; stubRepo.Update(answerToBeUpdated); //assert Assert.AreEqual(true, stubRepo.All.First().Correct); Assert.AreEqual("MartoStamatov", stubRepo.All.First().Content); }
public void DoesNewAddedMovieReallyExistInDb() { //Arrange var options = new DbContextOptionsBuilder <MoviesDbContext>() .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=MovieContext;Trusted_Connection=True;MultipleActiveResultSets=true") .Options; var movieToAdd = new Movie() { Title = "asd", Runtime = 1997, Year = 2000, PosterPath = null, Description = "Desc", Reviews = new List <Review>() }; var context = new MoviesDbContext(options); var last = context.Movies.ToList().Last(); var repo = new EfRepository(context); //Act repo.Add(movieToAdd); //context.Add(movieToAdd); //context.SaveChanges(); //Assert Assert.Equal(1997, last.Runtime); }
public void TestMovieUpdate() { //Arrange var options = new DbContextOptionsBuilder <MoviesDbContext>().EnableSensitiveDataLogging() .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=MovieContext;Trusted_Connection=True;MultipleActiveResultSets=true") .Options; var movie = new Movie() { Title = "movieToEdit", Runtime = 1997, Year = 2000, PosterPath = null, Description = "Desc" }; var context = new MoviesDbContext(options); var repo = new EfRepository(context); //Act repo.Add(movie); movie.Title = "edited"; repo.Update <Movie>(movie); //Assert Assert.Equal("edited", movie.Title); }
public void Delete_Loop_With_Cache_And_Ef() { var cachingStrategy = new StandardCachingStrategy<Contact, string>(); var dbPath = EfDataDirectoryFactory.Build(); Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); var repository = new EfRepository<Contact, string>(new TestObjectEntities("Data Source=" + dbPath), cachingStrategy); repository.Add(new Contact() { ContactId = "1", Name = "Contact1", ContactTypeId = 1}); repository.Add(new Contact() { ContactId = "2", Name = "Contact2", ContactTypeId = 2}); repository.Add(new Contact() { ContactId = "3", Name = "Contact3", ContactTypeId = 2}); repository.FindAll(x => x.ContactTypeId == 2); repository = new EfRepository<Contact, string>(new TestObjectEntities("Data Source=" + dbPath), cachingStrategy); repository.Delete(x => x.ContactTypeId == 2); }
public void MoveAll() { IRepository<SqlVendor> repo = new EfRepository<SqlVendor>(); repo.Add(new SqlVendor() { Name = "Corsair" }); repo.SaveChanges(); }
public int Add(Product p) { _repository.Add <Product>(p); _repository.SaveChanges(); var result = p.Reference; return(result); }
public void Deleted_Entity_With_Nullable_PartitionKey_Should_Not_Be_Returned_From_Cache() { var dbPath = EfDataDirectoryFactory.Build(); Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); // Standard partition cache and expression. var strategy = new StandardCachingStrategyWithPartition <Node, int, int?>(new InMemoryCachingProvider(), n => n.ParentId); // Standard EF repo. IRepository <Node, int> repository = new EfRepository <Node, int>(new TestObjectEntities("Data Source=" + dbPath), strategy); // Create a root node (ParentId = null). var rootNode = new Node() { ParentId = null, Name = "Root" }; repository.Add(rootNode); // Note: If we dont assign an int? here then TryPartitionValue in StandardCachingStrategyBase cannot find the partition key in the expression // because there would be a cast made in the expression which breaks partition key discovery. int?rootNodeId = rootNode.Id; // Create a child node referencing the root node as it's parent. var childNode = new Node() { ParentId = rootNodeId, Name = "Child" }; repository.Add(childNode); // Find the child nodes via the parentId, this will cause the cache to store the child node. repository.FindAll(n => n.ParentId == rootNodeId).Count().ShouldEqual(1); // Deleting the child node should also increment the partition generation. repository.Delete(childNode); // Subsequent query should not return the child node. repository.FindAll(n => n.ParentId == rootNodeId).Count().ShouldEqual(0, "Deleted entity returned from cache."); }
public void Call_AddMethod_Twice_OfTheDbSet() { // Arrange var characterDataModel = new CharacterDataModel(); var mockedDbSet = new Mock <IDbSet <CharacterDataModel> >(); var mockedDbContext = new Mock <IEfMarvelCatalogDbContext>(); mockedDbContext.Setup(db => db.GetSet <CharacterDataModel>()).Returns(mockedDbSet.Object); mockedDbSet.Setup(set => set.Add(characterDataModel)); var repo = new EfRepository <CharacterDataModel>(mockedDbContext.Object); // Act repo.Add(characterDataModel); repo.Add(characterDataModel); // Assert mockedDbSet.Verify(set => set.Add(characterDataModel), Times.Exactly(2)); }
public void Add_Should_Save_And_Assign_1_To_Ef_Int_Id_When_GenerateKeyOnAdd_Is_False() { var dbPath = EfDataDirectoryFactory.Build(); var repository = new EfRepository <ContactInt, int>(new TestObjectEntities("Data Source=" + dbPath)); var contact = new ContactInt { Name = "Test User" }; repository.GenerateKeyOnAdd = false; repository.Add(contact); contact.ContactIntId.ShouldEqual(1); }
public void CompoundKeyRepository_Should_Work() { var dbPath = EfDataDirectoryFactory.Build(); ICompoundKeyRepository <User, string, int> repository = new EfRepository <User, string, int>(new TestObjectContext("Data Source=" + dbPath)); repository.Add(new User { Username = "******", Age = 21, FullName = "Jeff - 21" }); repository.Add(new User { Username = "******", Age = 31, FullName = "Jeff - 31" }); repository.Add(new User { Username = "******", Age = 41, FullName = "Jeff - 41" }); repository.Add(new User { Username = "******", Age = 31, FullName = "Ben - 31" }); repository.Add(new User { Username = "******", Age = 41, FullName = "Ben - 41" }); repository.Add(new User { Username = "******", Age = 51, FullName = "Ben - 51" }); repository.Get("jeff", 31).FullName.ShouldBe("Jeff - 31"); repository.Get("ben", 31).FullName.ShouldBe("Ben - 31"); repository.Get("jeff", 41).FullName.ShouldBe("Jeff - 41"); repository.FindAll(x => x.Age == 31).Count().ShouldBe(2); }
public void CompoundKeyRepository_Should_Work() { var dbPath = EfDataDirectoryFactory.Build(); Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); ICompoundKeyRepository <User, string, int> repository = new EfRepository <User, string, int>(new TestObjectEntities("Data Source=" + dbPath)); repository.Add(new User { Username = "******", Age = 21, FullName = "Jeff - 21" }); repository.Add(new User { Username = "******", Age = 31, FullName = "Jeff - 31" }); repository.Add(new User { Username = "******", Age = 41, FullName = "Jeff - 41" }); repository.Add(new User { Username = "******", Age = 31, FullName = "Ben - 31" }); repository.Add(new User { Username = "******", Age = 41, FullName = "Ben - 41" }); repository.Add(new User { Username = "******", Age = 51, FullName = "Ben - 51" }); repository.Get("jeff", 31).FullName.ShouldEqual("Jeff - 31"); repository.Get("ben", 31).FullName.ShouldEqual("Ben - 31"); repository.Get("jeff", 41).FullName.ShouldEqual("Jeff - 41"); repository.FindAll(x => x.Age == 31).Count().ShouldEqual(2); }
public void TestMovieDelete() { //Arrange var options = new DbContextOptionsBuilder <MoviesDbContext>() .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=MovieContext;Trusted_Connection=True;MultipleActiveResultSets=true") .Options; var movieToAdd = new Movie() { Title = "beforeLast", Runtime = 1997, Year = 2000, PosterPath = null, Description = "Desc" }; var movieToDelete = new Movie() { Title = "lastToDelete", Runtime = 1997, Year = 2000, PosterPath = null, Description = "Desc" }; var context = new MoviesDbContext(options); var repo = new EfRepository(context); //Act repo.Add(movieToAdd); repo.Add(movieToDelete); repo.Delete(movieToDelete); var last = context.Movies.ToList().Last(); //Assert Assert.Equal(movieToAdd.Title, last.Title); }
public void RentalExpiredTest() { //Arrange var options = new DbContextOptionsBuilder <MoviesDbContext>() .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=MovieContext;Trusted_Connection=True;MultipleActiveResultSets=true") .Options; var context = new MoviesDbContext(options); var repo = new EfRepository(context); //Act var movie = new Movie() { Price = 3.99M }; repo.Add <Movie>(movie); var payment = new Payment() { Price = movie.Price }; repo.Add <Payment>(payment); var rental = new Rental(); rental.SetStartDate(); rental.SetEndDate(DateTime.Now.AddSeconds(2)); rental.SetPayment(payment); rental.SetMovieId(movie.Id); repo.Add <Rental>(rental); Thread.Sleep(3000); //Assert Assert.False(rental.IsRentalValid()); }
public void Delete_With_Cache_And_Ef() { var cachingStrategy = new StandardCachingStrategy<Contact, string>(); var dbPath = EfDataDirectoryFactory.Build(); Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); var repository = new EfRepository<Contact, string>(new TestObjectEntities("Data Source=" + dbPath), cachingStrategy); repository.Add(new Contact() { ContactId = "1", Name = "Contact1"}); repository = new EfRepository<Contact, string>(new TestObjectEntities("Data Source=" + dbPath), cachingStrategy); repository.Get("1"); repository.CacheUsed.ShouldBeTrue(); repository.Delete("1"); }
public void ThrowNullReferenceException_WhenPassedArgumentIsNull() { // Arrange var mockedDbContext = new Mock <MsSqlDbContext>(); var mockedSet = new Mock <DbSet <Book> >(); // Act mockedDbContext.Setup(set => set.Set <Book>()).Returns(mockedSet.Object); var mockedDbSet = new EfRepository <Book>(mockedDbContext.Object); Book entity = null; // Assert Assert.That(() => mockedDbSet.Add(entity), Throws.InstanceOf <ArgumentNullException>()); }
public void TestAdd_ShouldCallDbContextSetAdded() { // Arrange var mockedDbContext = new Mock <IDbContext>(); var repository = new EfRepository <FakeRepositoryType>(mockedDbContext.Object); var entity = new Mock <FakeRepositoryType>(); // Act repository.Add(entity.Object); // Assert mockedDbContext.Verify(c => c.SetAdded(entity.Object), Times.Once); }
public void ThrowArgumentNullException_WhenArgumentIsNull() { //Arrange var mockedDbContext = new Mock <MsSqlDbContext>(); var mockedModel = new Mock <DbSet <Category> >(); var mockedCategory = new Mock <Category>(); //Act mockedDbContext.Setup(x => x.Set <Category>()).Returns(mockedModel.Object); var mockedDbSet = new EfRepository <Category>(mockedDbContext.Object); Category entity = null; //Assert Assert.Throws <ArgumentNullException>(() => mockedDbSet.Add(entity)); }
public void Add_save_a_todo_via_context() { // Arrange var mockDispatcher = new Mock <IDomainEventDispatcher>(); var mockSet = new Mock <DbSet <ToDoItem> >(); var mockContext = new Mock <AppDbContext>(mockDispatcher.Object); mockContext.Setup(x => x.Set <ToDoItem>()).Returns(mockSet.Object); var repository = new EfRepository <ToDoItem>(mockContext.Object); // Act repository.Add(new ToDoItem()); // Assert mockSet.Verify(x => x.Add(It.IsAny <ToDoItem>()), Times.Once()); mockContext.Verify(x => x.SaveChanges(), Times.Once()); }
public void Delete_With_Cache_And_Ef() { var cachingStrategy = new StandardCachingStrategy <Contact, string>(); var dbPath = EfDataDirectoryFactory.Build(); var repository = new EfRepository <Contact, string>(new TestObjectEntities("Data Source=" + dbPath), cachingStrategy); repository.Add(new Contact() { ContactId = "1", Name = "Contact1" }); repository = new EfRepository <Contact, string>(new TestObjectEntities("Data Source=" + dbPath), cachingStrategy); repository.Get("1"); repository.CacheUsed.ShouldBeTrue(); repository.Delete("1"); }
public void EfRepo_Should_Call_Add() { //Arrange FakeClass fake = new FakeClass(); var mockedDbSet = new Mock <IDbSet <FakeClass> >(); mockedDbSet.Setup(x => x.Add(fake)).Verifiable(); var mockedDbContext = new Mock <IEfSociumDbContext>(); mockedDbContext.Setup(c => c.GetDbSet <FakeClass>()).Returns(mockedDbSet.Object); EfRepository <FakeClass> repo = new EfRepository <FakeClass>(mockedDbContext.Object); //Act repo.Add(fake); //Assert mockedDbSet.Verify(x => x.Add(fake), Times.Once); }
public static void Main() { Database.SetInitializer(new MigrateDatabaseToLatestVersion <ArtistsDBContext, Configuration>()); //IArtistsDBContext db = new ArtistsDBContext(); //db.Album.Add(new Album()); //позволява да изпълним команда //db.Database.ExecuteSqlCommand(); //рядко се ползва //db.Configuration.LazyLoadingEnabled = false; //db.Configuration.ValidateOnSaveEnabled = false; /* * var artist = new Artist * { * Name = "Tosho", * Gender = GenderType.Male * }; * * db.Artists.Add(artist); * db.SaveChanges(); */ //Console.WriteLine(db.Artists.Count()); //рядко се ползва //db.Configuration.LazyLoadingEnabled = true; //db.Configuration.ValidateOnSaveEnabled = true; IRepositories <Artist> artistRepo = new EfRepository <Artist>(); //Console.WriteLine(artistRepo.All().Count()); artistRepo.Add(new Artist { Name = "PeshoPetrov" }); artistRepo.SaveChanges(); }
public void AddSystem() { var context = new EntityMapperDbContext(); var authAdapter = new IdentityAuthAdapter(); var sut = new EfRepository <global::Data.Models.System>(context, authAdapter); var result = sut.Add(new global::Data.Models.System { DomainId = 1, Active = true, Name = "First System" }); Assert.NotNull(result); Assert.Greater(result.Id, 0); var systems = context.Domains.Find(1).Systems.ToList(); Assert.Greater(systems.Count, 0); Assert.NotNull(result.Domain); context.Systems.Remove(result); context.SaveChanges(); }
public void AddASingleEntity() { var context = new EntityMapperDbContext(); var authAdapter = new IdentityAuthAdapter(); var sut = new EfRepository <Entity>(context, authAdapter); var result = sut.Add(new Entity { SystemId = 1, Active = true, Name = "First Entity" }); Assert.NotNull(result); Assert.Greater(result.Id, 0); var entities = context.Systems.Find(1).Entities.ToList(); Assert.Greater(entities.Count, 0); Assert.NotNull(result.System); context.Entities.Remove(result); context.SaveChanges(); }
public void RepoAllWithDeletedOnes_ReturnsCorrect() { // Arrange var stubDateProvider = new Mock <IRepoTimeProvider>(); var options = new DbContextOptionsBuilder <ITestDbContext>() .UseInMemoryDatabase(databaseName: "RepoAllWithDeletedOnes_ReturnsCorrect") .Options; var stubContext = new ITestDbContext(options); var stubRepo = new EfRepository <Answer>(stubContext, stubDateProvider.Object); stubRepo.Add(new Answer() { Content = "Petko", Correct = true }); stubRepo.Add(new Answer() { Content = "MitkoTheEyes", Correct = false }); stubRepo.Add(new Answer() { Content = "Edo", Correct = false, IsDeleted = true }); stubRepo.Add(new Answer() { Content = "Stivi", Correct = false }); stubRepo.Add(new Answer() { Content = "MartoStamatov", Correct = true, IsDeleted = true }); stubRepo.Add(new Answer() { Content = "ChefichaCold", Correct = false, IsDeleted = true }); stubContext.SaveChanges(); //act var foundAnswers = stubRepo.AllAndDeleted; //assert Assert.AreEqual(6, foundAnswers.Count()); Assert.AreEqual(2, foundAnswers.Where(x => x.Correct == true).Count()); Assert.AreEqual(4, foundAnswers.Where(x => x.Correct == false).Count()); }
public void CompoundKeyRepository_Should_Work() { var dbPath = EfDataDirectoryFactory.Build(); Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); ICompoundKeyRepository<User, string, int> repository = new EfRepository<User, string, int>(new TestObjectEntities("Data Source=" + dbPath)); repository.Add(new User { Username = "******", Age = 21, FullName = "Jeff - 21" }); repository.Add(new User { Username = "******", Age = 31, FullName = "Jeff - 31" }); repository.Add(new User { Username = "******", Age = 41, FullName = "Jeff - 41" }); repository.Add(new User { Username = "******", Age = 31, FullName = "Ben - 31" }); repository.Add(new User { Username = "******", Age = 41, FullName = "Ben - 41" }); repository.Add(new User { Username = "******", Age = 51, FullName = "Ben - 51" }); repository.Get("jeff", 31).FullName.ShouldEqual("Jeff - 31"); repository.Get("ben", 31).FullName.ShouldEqual("Ben - 31"); repository.Get("jeff", 41).FullName.ShouldEqual("Jeff - 41"); repository.FindAll(x => x.Age == 31).Count().ShouldEqual(2); }