public async Task GetAllStages_WhenThreeAreAdded_ReturnsThree() { // Arrange var connectionStringBuild = new SqliteConnectionStringBuilder { DataSource = ":memory:" }; var connection = new SqliteConnection(connectionStringBuild.ToString()); var options = new DbContextOptionsBuilder <StageBuilderDbContext>() .UseSqlite(connection) .Options; using (var context = new StageBuilderDbContext(options)) { context.Database.OpenConnection(); context.Database.EnsureCreated(); context.AddRange(new List <StageEntity> { new StageEntity() { UserId = 1, GameId = 1, CreatedDate = DateTime.Now, LastUpdatedDate = DateTime.Now }, new StageEntity() { UserId = 1, GameId = 1, CreatedDate = DateTime.Now, LastUpdatedDate = DateTime.Now }, new StageEntity() { UserId = 1, GameId = 1, Published = true, CreatedDate = DateTime.Now, LastUpdatedDate = DateTime.Now } }.ToArray()); context.SaveChanges(); } using (var context = new StageBuilderDbContext(options)) { var service = new StageService(context); // Act var stages = await service.GetAllPublishedStagesAsync(); // Assertion var expectedCount = 3; var msg = $"There are {expectedCount} {Entities} in the database"; stages.Should().HaveCount(expectedCount, because: msg); } }