コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: SampleTest.cs プロジェクト: niejn/IntroToRxDemo
 public void SetUp()
 {
     _myModelMock       = new Mock <IMyModel>();
     _schedulerProvider = new TestSchedulerProvider();
     _viewModel         = new MyViewModel(_myModelMock.Object, _schedulerProvider);
 }