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");
        }
Ejemplo n.º 2
0
        public SimpleIntegrationTestBase()
        {
            Startup = new SimpleTestStartup();

            // Create test doubles, mocks so they can be Arranged before starting WebApi
            ValueRepository = new InMemoryValueRepository();
        }