示例#1
0
        public void TestConstructor()
        {
            _mockProfileService.SetupProperty(m => m.ActiveProfile.SwitchSettings.Upbv2PortName, null);
            var sut = new UltimatePowerboxV2(_mockProfileService.Object)
            {
                Sdk = _mockSdk.Object
            };

            Assert.That(sut.PortName, Is.EqualTo("AUTO"));
        }
示例#2
0
        public async Task TestConnectSerialPortClosed()
        {
            _mockSdk.Setup(m => m.SendCommand <FirmwareVersionResponse>(It.IsAny <FirmwareVersionCommand>()))
            .Throws(new SerialPortClosedException());
            var sut = new UltimatePowerboxV2(_mockProfileService.Object)
            {
                Sdk = _mockSdk.Object
            };
            var result = await sut.Connect(new CancellationToken());

            Assert.That(result, Is.False);
            Assert.That(sut.Connected, Is.False);
        }
示例#3
0
        public async Task TestConnectAsyncFirmwareException()
        {
            _mockSdk.Setup(m => m.InitializeSerialPort(It.IsAny <string>(), It.IsAny <object>())).Returns(true);
            _mockSdk.Setup(m => m.SendCommand <FirmwareVersionResponse>(It.IsAny <FirmwareVersionCommand>()))
            .Throws(new InvalidDeviceResponseException());
            var sut = new UltimatePowerboxV2(_mockProfileService.Object)
            {
                Sdk = _mockSdk.Object
            };
            var result = await sut.Connect(new CancellationToken());

            Assert.That(result, Is.True);
            Assert.That(sut.Connected, Is.True);
            Assert.That(sut.Description, Is.EqualTo("Ultimate Powerbox V2 on port COM3. Firmware version: " + Loc.Instance["LblNoValidFirmwareVersion"]));
        }
示例#4
0
 public async Task Init()
 {
     _mockProfileService = new Mock <IProfileService>();
     _mockProfileService.SetupProperty(m => m.ActiveProfile.SwitchSettings.Upbv2PortName, "COM3");
     _mockSdk = new Mock <IPegasusDevice>();
     _sut     = new UltimatePowerboxV2(_mockProfileService.Object)
     {
         Sdk = _mockSdk.Object
     };
     _mockSdk.Setup(m => m.InitializeSerialPort(It.IsAny <string>(), It.IsAny <object>())).Returns(true);
     _mockSdk.Setup(m => m.SendCommand <FirmwareVersionResponse>(It.IsAny <FirmwareVersionCommand>()))
     .Returns(Task.FromResult(new FirmwareVersionResponse {
         DeviceResponse = "1.3"
     }));
     await _sut.Connect(new CancellationToken());
 }
示例#5
0
        public async Task TestConnectAsync(bool expected, string commandString = "1.3", bool portAvailable = true, string description = null)
        {
            _mockSdk.Setup(m => m.InitializeSerialPort(It.IsAny <string>(), It.IsAny <object>())).Returns(portAvailable);
            _mockSdk.Setup(m => m.SendCommand <FirmwareVersionResponse>(It.IsAny <FirmwareVersionCommand>()))
            .Returns(Task.FromResult(new FirmwareVersionResponse {
                DeviceResponse = commandString
            }));
            var sut = new UltimatePowerboxV2(_mockProfileService.Object)
            {
                Sdk = _mockSdk.Object
            };
            var result = await sut.Connect(new CancellationToken());

            Assert.That(result, Is.EqualTo(expected));
            Assert.That(sut.Connected, Is.EqualTo(expected));
            if (!expected)
            {
                return;
            }
            Assert.That(double.TryParse(commandString, NumberStyles.Float, CultureInfo.InvariantCulture, out var version), Is.True);
            Assert.That(sut.Description, Is.EqualTo($"{description}{version}"));
        }