public void EitherChangedRequeries( IScheduler scheduler, LiveLoadOrderProvider sut) { var pluginSubj = new Subject <Unit>(); sut.PluginLive.Changed.Returns(pluginSubj); var cccSubj = new Subject <Unit>(); sut.CccLive.Changed.Returns(cccSubj); sut.Get(out _, scheduler) .AsObservableList(); pluginSubj.OnNext(Unit.Default); cccSubj.OnNext(Unit.Default); sut.ListingsProvider.Received(3).Get(); }
public void Throttles( TestScheduler scheduler, LiveLoadOrderProvider sut) { sut.Timings.Throttle.Returns(TimeSpan.FromTicks(5)); var pluginSubj = new Subject <Unit>(); sut.PluginLive.Changed.Returns(pluginSubj); sut.Get(out _, scheduler) .AsObservableList(); scheduler.AdvanceBy(1); pluginSubj.OnNext(Unit.Default); scheduler.AdvanceBy(1); pluginSubj.OnNext(Unit.Default); scheduler.AdvanceBy(sut.Timings.Throttle.Ticks); var c = sut.PluginLive.Received(1).Changed; }