예제 #1
0
            public async ThreadingTask ReturnsTheCountOfInteractorResult()
            {
                var syncables = new IDatabaseSyncable[]
                {
                    new MockTag {
                        Name = "Tag", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error1"
                    },
                    new MockTag {
                        Name = "Tag2", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error1"
                    },
                    new MockProject {
                        Name = "Project", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error2"
                    }
                };

                var items = syncables.Select(i => new SyncFailureItem(i));

                var interactor = Substitute.For <IInteractor <IObservable <IEnumerable <SyncFailureItem> > > >();

                interactor.Execute().Returns(Observable.Return(items));
                InteractorFactory.GetItemsThatFailedToSync().Returns(interactor);

                await ViewModel.Initialize();

                ViewModel.NumberOfSyncFailures.Should().Be(3);
            }
예제 #2
0
            public async ThreadingTask ReturnsTheCountOfInteractorResult()
            {
                var syncables = new IDatabaseSyncable[]
                {
                    new MockTag {
                        Name = "Tag", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error1"
                    },
                    new MockTag {
                        Name = "Tag2", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error1"
                    },
                    new MockProject {
                        Name = "Project", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error2"
                    }
                };
                var items      = syncables.Select(i => new SyncFailureItem(i));
                var interactor = Substitute.For <IInteractor <IObservable <IEnumerable <SyncFailureItem> > > >();

                interactor.Execute().Returns(Observable.Return(items));
                InteractorFactory.GetItemsThatFailedToSync().Returns(interactor);
                await ViewModel.Initialize();

                var observer = TestScheduler.CreateObserver <int>();

                ViewModel.NumberOfSyncFailures.Subscribe(observer);
                TestScheduler.AdvanceBy(50);

                observer.Messages
                .Last(m => m.Value.Kind == System.Reactive.NotificationKind.OnNext).Value.Value
                .Should()
                .Be(syncables.Length);
            }