public async Task LateOverride_ShouldUseLateImplementationForRegistration() { ValueRepository.Values["1"] = "CustomValueFor1"; ValueRepository.Values["2"] = "CustomValueFor2"; // We can also replace our default test implementation here if we want to var newImMemoryRepository = new InMemoryValueRepository(); ValueRepository = newImMemoryRepository; newImMemoryRepository.Values["1"] = "NewCustomValueFor3"; newImMemoryRepository.Values["2"] = "NewCustomValueFor4"; StartServer(); // act var response = await Client.GetAsync("/api/values"); // assert response.StatusCode.Should().Be(HttpStatusCode.OK); var json = await response.Content.ReadAsStringAsync(); string[] values = JsonConvert.DeserializeObject <string[]>(json); values[0].Should().Be("InMemoryValueRepository:NewCustomValueFor3"); values[1].Should().Be("InMemoryValueRepository:NewCustomValueFor4"); }
public SimpleIntegrationTestBase() { Startup = new SimpleTestStartup(); // Create test doubles, mocks so they can be Arranged before starting WebApi ValueRepository = new InMemoryValueRepository(); }