public async Task TestPoll() { var response = new PowerStatusResponse { DeviceResponse = "PS:1111:8" }; _mockSdk.Setup(m => m.SendCommand <PowerStatusResponse>(It.IsAny <PowerStatusCommand>())) .Returns(Task.FromResult(response)); var result = await _sut.Poll(); Assert.That(result, Is.True); Assert.That(_sut.Value, Is.EqualTo(8)); }
public void TestValidPowerStatusResponse(string deviceResponse, bool port0, bool port1, bool port2, bool port3, double voltage) { var sut = new PowerStatusResponse { DeviceResponse = deviceResponse }; Assert.That(sut.PowerStatusOnBoot[0], Is.EqualTo(port0)); Assert.That(sut.PowerStatusOnBoot[1], Is.EqualTo(port1)); Assert.That(sut.PowerStatusOnBoot[2], Is.EqualTo(port2)); Assert.That(sut.PowerStatusOnBoot[3], Is.EqualTo(port3)); Assert.That(sut.VariableVoltage, Is.EqualTo(voltage)); Assert.That(sut.ToString().Contains(deviceResponse), Is.True); }
/// <summary> /// Control the power configuration. /// </summary> /// <param name="request"></param> /// <param name="context"></param> /// <returns></returns> public override Task <PowerStatusResponse> RequestPowerStatus(PowerStatusRequest request, ServerCallContext context) { var powerStatusResponse = new PowerStatusResponse(); if (request.Write) { // change the power configuration (Write mode) if (request.PowerCode < 0 || request.PowerCode > 15) { powerStatusResponse.Error = ServiceHelper.BuildError("Power code is invalid", Level.Error); return(Task.FromResult <PowerStatusResponse>(powerStatusResponse)); } powerStatusResponse.Error = InvokeCommand("R", new string[] { request.PowerCode.ToString() }); powerStatusResponse.PowerCode = request.PowerCode; return(Task.FromResult(powerStatusResponse)); } else { // Read mode string outputValue = ""; powerStatusResponse.Error = InvokeCommandWithResponse("r", null, ref outputValue, 1000); if (powerStatusResponse.Error != null) { return(Task.FromResult(powerStatusResponse)); } try { powerStatusResponse.PowerCode = Int32.Parse(outputValue); } catch (Exception e) { powerStatusResponse.Error = ServiceHelper.BuildError(e, Level.Error); return(Task.FromResult(powerStatusResponse)); } } return(Task.FromResult(powerStatusResponse)); }