public async Task GetLastResultForDiffAsync_includes_differences() { // Arrange var expectedResult = new DiffResult { Id = Guid.NewGuid(), Differences = new InputDifference[] { new InputDifference(1, 2), new InputDifference(5, 6), new InputDifference(12, 4) } }; var options = new DbContextOptionsBuilder <ResultContext>() .UseInMemoryDatabase("resultsDb_notEmpty") .Options; var context = new ResultContext(options); var repository = new DiffResultsRepository(context); context.DiffResults.Add(expectedResult); context.SaveChanges(); // Act var result = await repository.GetLastResultForDiffAsync(expectedResult.DiffId); // Assert Assert.NotEmpty(result.Differences); Assert.All(result.Differences, diff => expectedResult.Differences.Contains(diff)); }
public async Task GetLastResultForDiffAsync_returns_last_result_for_a_given_diff_id() { // Arrange var expectedResult = new DiffResult { Id = Guid.NewGuid(), Timestamp = DateTime.Parse("2019-01-01") }; var options = new DbContextOptionsBuilder <ResultContext>() .UseInMemoryDatabase("resultsDb_lastResult") .Options; var context = new ResultContext(options); var repository = new DiffResultsRepository(context); context.DiffResults.AddRange(new DiffResult[] { new DiffResult { Id = Guid.NewGuid(), DiffId = expectedResult.DiffId, Timestamp = expectedResult.Timestamp.AddMilliseconds(-1) }, expectedResult, new DiffResult { Id = Guid.NewGuid(), DiffId = expectedResult.DiffId, Timestamp = expectedResult.Timestamp.AddHours(-1) }, new DiffResult { Id = Guid.NewGuid(), DiffId = expectedResult.DiffId, Timestamp = expectedResult.Timestamp.AddMinutes(-1) }, new DiffResult { Id = Guid.NewGuid(), DiffId = expectedResult.DiffId, Timestamp = expectedResult.Timestamp.AddSeconds(-1) }, new DiffResult { Id = Guid.NewGuid(), DiffId = Guid.NewGuid(), Timestamp = expectedResult.Timestamp } }); context.SaveChanges(); // Act var result = await repository.GetLastResultForDiffAsync(expectedResult.DiffId); // Assert Assert.Equal(result.Id, expectedResult.Id); Assert.Equal(result.Timestamp, expectedResult.Timestamp); Assert.Equal(result.DiffId, expectedResult.DiffId); }