public void Initialize()
        {
            _logger       = Substitute.For <ILogger>();
            _scheduler    = new TestScheduler();
            _monitor      = Substitute.For <IDeviceMonitorWithExpiry>();
            _factory      = Substitute.For <IDeskFactory>();
            _deskDetected = new Subject <IDesk>();

            _updated = new Subject <IDevice>();
            _monitor.DeviceUpdated.Returns(_updated);

            _discovered = new Subject <IDevice>();
            _monitor.DeviceDiscovered.Returns(_discovered);

            _nameChanged = new Subject <IDevice>();
            _monitor.DeviceNameUpdated.Returns(_discovered);

            _deskFound = new Subject <IDevice>();
            _monitor.DeviceUpdated.Returns(_deskFound);

            _device = Substitute.For <IDevice>();
            _device.Name.Returns(DeviceName);
            _device.Address.Returns(DeviceAddress);

            _desk      = Substitute.For <IDesk>();
            _deskOther = Substitute.For <IDesk>();
            _factory.CreateAsync(_device.Address)
            .Returns(_desk, _deskOther);
        }
Esempio n. 2
0
        public DeskDetector([NotNull] ILogger logger,
                            [NotNull] IScheduler scheduler,
                            [NotNull] IDeviceMonitorWithExpiry monitor,
                            [NotNull] IDeskFactory factory,
                            [NotNull] ISubject <IDesk> deskDetected)
        {
            Guard.ArgumentNotNull(logger,
                                  nameof(logger));
            Guard.ArgumentNotNull(scheduler,
                                  nameof(scheduler));
            Guard.ArgumentNotNull(monitor,
                                  nameof(monitor));
            Guard.ArgumentNotNull(factory,
                                  nameof(factory));
            Guard.ArgumentNotNull(deskDetected,
                                  nameof(deskDetected));

            _logger       = logger;
            _scheduler    = scheduler;
            _monitor      = monitor;
            _factory      = factory;
            _deskDetected = deskDetected;
        }