protected override void SetSubscription(IDesk desk,
                                         TestScheduler scheduler)
 {
     desk.SpeedChanged
     .ObserveOn(scheduler)
     .Subscribe(OnRaised);
 }
Пример #2
0
        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);
        }
        public void Initialize([NotNull] IDesk desk)
        {
            Guard.ArgumentNotNull(desk,
                                  nameof(desk));

            _disposable = desk.HeightAndSpeedChanged
                          .ObserveOn(_scheduler)
                          .Subscribe(OnHeightAndSpeedChanged);
        }
Пример #4
0
 public void UpdateDesk(IDesk desk)
 {
     lock (mUpDesks)
     {
         if (!mUpDesks.Contains(desk))
         {
             mUpDesks.Add(desk);
         }
     }
 }
Пример #5
0
        public void OnDeskDetected_ForInvoked_SetsDesk(
            DeskProvider sut,
            IDesk desk)
        {
            sut.OnDeskDetected(desk);

            sut.Desk
            .Should( )
            .Be(desk);
        }
Пример #6
0
        public void OnDeskDetected_ForInvoked_CallsDeskDetectorStop(
            DeskProvider sut,
            [Freeze] IDeskDetector detector,
            IDesk desk)
        {
            sut.OnDeskDetected(desk);

            detector.Received( )
            .Stop( );
        }
Пример #7
0
        internal void OnDeskDetected(IDesk desk)
        {
            _logger.Information($"Detected desk {desk.Name} with " +
                                $"Bluetooth address {desk.BluetoothAddress}");

            _detector.Stop( );

            Desk = desk;

            DeskDetectedEvent.Set( );
        }
Пример #8
0
        public void OnDeskDetected_ForInvoked_CallsDeskDetectedEventSet(
            DeskProvider sut,
            IDesk desk,
            CancellationTokenSource source)
        {
            Task.Run(() => sut.DoTryGetDesk(source.Token));

            Task.Run(() => sut.OnDeskDetected(desk),
                     source.Token);

            Thread.Sleep(500);     // not a good way but the only way at the moment

            sut.Desk
            .Should( )
            .Be(desk);

            source.Cancel(false);
        }
Пример #9
0
        private void AddType()
        {
            Console.WriteLine("What type of desk would you like?");
            Console.WriteLine("Floating, SitStand, Computer, RollTop, Executive");
            _DeskType = Console.ReadLine();
            Console.WriteLine("Would you like to customize it? Y for Yes, N for No");
            string val = Console.ReadLine();

            if (val == "N" || val == "n")
            {
                deskList.Add(CreateDefault(_DeskType));
                //AddFeatures();
            }

            else
            {
                IDesk desk = CreateDefault(_DeskType);
                AddCustom(desk);
            }
        } // end add type
Пример #10
0
        private void SelectDesk(Protocol.SelectDesk e, IUserAgent agent, ISiqiServer server)
        {
            IDesk desk = Desks.FirstOrDefault(o => o.ID == e.Desk);

            Protocol.SelectDeskResponse response = new Protocol.SelectDeskResponse();
            response.Success = true;
            response.Seat    = e.Seat;
            response.Desk    = e.Desk;
            if (desk != null)
            {
                response.Message = desk.In(agent, e.Seat);
                response.Success = string.IsNullOrEmpty(response.Message);
            }
            else
            {
                response.Success = false;
                response.Message = "桌子编号错误!";
            }
            server.Send(response, agent);
        }
Пример #11
0
        } // end add type

        private void AddCustom(IDesk desk)
        {
            Console.WriteLine("Would you like to add a Wiremanagement Container?");
            Console.WriteLine("Would you like to add a Built-In Cord Holder?");
            Console.WriteLine("Would you like to add a Ergonomic Foot Rest?");
            Console.WriteLine("Would you like to add a Ergonomic Hand Rest? ");
            Console.WriteLine("Would yiu like to add a Built-In Power Strip?");
            Console.WriteLine("Would you like to add 2 Built-In USB Ports?");
            Console.WriteLine("Would you like to add a Lamp?");
            string val = Console.ReadLine();

            if (val == "N" || val == "n")
            {
                //go to reciept
            }
            else
            {
                AddType();
            }
            foreach (var item in deskList)
            {
                Console.WriteLine(item.ModelNumber + "" + item.Price);
            }
        }
 public FurnitureOrder(FurnitureFactory factory)
 {
     _chair = factory.GetChairs();
     _desk  = factory.GetTables();
 }
Пример #13
0
 public static void PrintReciept(IDesk desk)
 {
     Console.WriteLine("Printing Reciept...");
 }
Пример #14
0
 public void Add(IDesk desk)
 {
     // TODO: Implement this method
     desk.Room = this;
     Desks.Add(desk);
 }
Пример #15
0
 public Order(IDesk desk)
 {
     this._desk = desk;
 }