public void should_return_merged_observable() { var observableResult1 = new TestConfigured(); var observable1 = Observable.Return(observableResult1); var configurationResult1 = ConfigurationResult <TestConfigured> .Create(observable : observable1); _sources[0].Handles <TestConfigured>().Returns(true); _sources[0].Get(Arg.Any <ConfigurationResult <TestConfigured> >()) .Returns(configurationResult1); var observableResult2 = new TestConfigured(); var observable2 = Observable.Return(observableResult2); var configurationResult2 = ConfigurationResult <TestConfigured> .Create(observable : observable2); _sources[1].Handles <TestConfigured>().Returns(true); _sources[1].Get(configurationResult1) .Returns(configurationResult2); var configurationResult = _cut.Resolve <TestConfigured>(); var captured = configurationResult.Observable.Capture(2); captured[0].Should().Be(observableResult1); captured[1].Should().Be(observableResult2); }
public void get_after_store_should_match_stored_result() { var original = new TestConfigured(); var configResult = new ConfigurationResult <TestConfigured>(original, _observable); _cut.Store(configResult); _cut.Get <TestConfigured>().Should().BeSameAs(original); }
public void should_check_result_store_for_existing_result() { var expectedResult = new TestConfigured(); _resultStore.Get <TestConfigured>().Returns(expectedResult); var result = _cut.Get <TestConfigured>(); result.Should().BeSameAs(expectedResult); _sourceResolver.DidNotReceive().Resolve <TestConfigured>(); }
public void get_after_observable_fires_should_return_observed() { var original = new TestConfigured(); var replacement = new TestConfigured(); var configResult = new ConfigurationResult <TestConfigured>(original, _observable); _cut.Store(configResult); _observable.OnNext(replacement); _cut.Get <TestConfigured>().Should().BeSameAs(replacement); }
public void should_get_results_from_sources_handling_T() { var expectedResult = new TestConfigured(); var configurationResult = ConfigurationResult <TestConfigured> .Create(expectedResult); _sources[1].Handles <TestConfigured>().Returns(true); _sources[1] .Get(Arg.Any <ConfigurationResult <TestConfigured> >()) .Returns(configurationResult); _cut.Resolve <TestConfigured>(); _sources[0].DidNotReceive() .Get(Arg.Any <ConfigurationResult <TestConfigured> >()); _sources[1].Received() .Get(Arg.Any <ConfigurationResult <TestConfigured> >()); }
public void should_return_aggregated_result_from_sources_handling_T() { var result1 = ConfigurationResult <TestConfigured> .Create(); _sources[0].Handles <TestConfigured>().Returns(true); _sources[0].Get(Arg.Any <ConfigurationResult <TestConfigured> >()) .Returns(result1); var expectedResult = new TestConfigured(); var result2 = ConfigurationResult <TestConfigured> .Create(expectedResult); _sources[1].Handles <TestConfigured>().Returns(true); _sources[1].Get(result1) .Returns(result2); var configurationResult = _cut.Resolve <TestConfigured>(); _sources[0].Received().Get(Arg.Any <ConfigurationResult <TestConfigured> >()); _sources[1].Received().Get(result1); configurationResult.Result.Should().BeSameAs(expectedResult); }