Ejemplo n.º 1
0
        public void ShouldGetHourlyConsumptionAfterCommandExecution() => new TestScheduler().With(scheduler =>
        {
            var dcbelDataServiceProvider = Substitute.For <IDcbelDataServiceProvider>();
            dcbelDataServiceProvider.GetDcbelDataServiceAsync().Returns(new MockDcbelDataService());
            var myHomeConsumptionViewModel = new MyHomeConsumptionViewModel(dcbelDataServiceProvider).DisposeWith(this.Disposables);

            Observable.Return(Unit.Default).InvokeCommand(myHomeConsumptionViewModel.GetAvgHourlyConsumption).DisposeWith(this.Disposables);
            scheduler.AdvanceBy(TimeSpan.FromTicks(1).Ticks);
            Assert.Equal(4, myHomeConsumptionViewModel.MyHomeConsumption.AvgConsumptions.Count);
            Assert.Equal(4.06, myHomeConsumptionViewModel.MyHomeConsumption.AvgConsumptions.FirstOrDefault().Value);
        });
Ejemplo n.º 2
0
        public void ShouldObserveChangesToLiveConsumption() => new TestScheduler().With(scheduler =>
        {
            var dcbelDataServiceProvider = Substitute.For <IDcbelDataServiceProvider>();
            dcbelDataServiceProvider.GetDcbelDataServiceAsync().Returns(new MockDcbelDataService());
            var myHomeConsumptionViewModel = new MyHomeConsumptionViewModel(dcbelDataServiceProvider).DisposeWith(this.Disposables);

            Assert.Equal(0.00, myHomeConsumptionViewModel.MyHomeConsumption.LiveConsumption);
            scheduler.AdvanceBy(TimeSpan.FromSeconds(6).Ticks);
            Assert.Equal(1.00, myHomeConsumptionViewModel.MyHomeConsumption.LiveConsumption);
            scheduler.AdvanceBy(TimeSpan.FromSeconds(6).Ticks);
            Assert.Equal(2.00, myHomeConsumptionViewModel.MyHomeConsumption.LiveConsumption);
        });