public void CleanUp_ForOneExpiredDeviceInCollection_RemovesDeviceFromCollection( ILogger logger, IDateTimeOffset dateTimeOffset, IDeviceMonitor deviceMonitor, ISubject <IDevice> deviceExpired, ObservableTimerFactory factory, TestScheduler scheduler, IDevice device) { deviceMonitor.DiscoveredDevices .Returns(new[] { device }); var sut = new DeviceMonitorWithExpiry(logger, dateTimeOffset, deviceMonitor, deviceExpired, factory, scheduler); dateTimeOffset.Ticks .Returns(sut.TimeOut.Ticks); dateTimeOffset.Now .Returns(dateTimeOffset); device.BroadcastTime .Ticks .Returns(0); scheduler.AdvanceBy(sut.TimeOut.Ticks + 1); deviceMonitor.Received() .RemoveDevice(device); }
public void Stop_ForInvoked_CallsDeviceMonitor( DeviceMonitorWithExpiry sut, [Freeze] IDeviceMonitor monitor) { sut.Stop(); monitor.Received() .Stop(); }
public void Dispose_ForInvoked_DisposesMonitor( DeviceMonitorWithExpiry sut, [Freeze] IDeviceMonitor monitor) { sut.Dispose(); monitor.Received() .Dispose(); }
public void RemoveDevice_ForInvoked_CallsDeviceMonitor( DeviceMonitorWithExpiry sut, [Freeze] IDeviceMonitor monitor, IDevice device) { sut.RemoveDevice(device); monitor.Received() .RemoveDevice(device); }
public void OnError_ForInvoked_CallsStop( ILogger logger, IDateTimeOffset dateTimeOffset, IDeviceMonitor deviceMonitor, ISubject <IDevice> deviceExpired, IObservableTimerFactory factory, TestScheduler scheduler) { factory.Create(Arg.Any <TimeSpan>(), Arg.Any <IScheduler>()) .Returns(Observable.Throw <long>(new Exception())); var sut = new DeviceMonitorWithExpiry(logger, dateTimeOffset, deviceMonitor, deviceExpired, factory, scheduler); scheduler.AdvanceBy(sut.TimeOut.Ticks); deviceMonitor.Received() .Stop(); }