public void Should_search_after_pause_in_text_changes() { var schedulers = new TestSchedulerProvider(); var serviceMock = new Mock <ISuggestService>(); serviceMock.Setup(service => service.GetSuggestions(It.IsAny <string>())).Returns(Task.FromResult(new[] { "Reactive", "Reactive Extensions" })); var viewModel = new SearchViewModel(serviceMock.Object, schedulers); Assert.IsNull(viewModel.SearchText); Assert.IsNull(viewModel.Suggestions); Assert.IsFalse(viewModel.HasSuggestions); viewModel.SearchText = "reactive"; schedulers.Default.AdvanceTo(500); Assert.IsNull(viewModel.Suggestions); schedulers.Default.AdvanceBy(1000); serviceMock.Verify(service => service.GetSuggestions(It.IsAny <string>())); // not finished :( Assert.IsTrue(viewModel.HasSuggestions); }
public void SetUp() { _myModelMock = new Mock <IMyModel>(); _schedulerProvider = new TestSchedulerProvider(); _viewModel = new MyViewModel(_myModelMock.Object, _schedulerProvider); }