public async Task SendCommandAsync_ConnectionIsNotOpen_InvalidOperationExceptionOccurs() { var connectionMock = new Mock <IOwiUsbConnection>(); connectionMock.SetupGet(mock => mock.IsOpen).Returns(false); var arm = new OwiArm(connectionMock.Object); await arm.SendCommandAsync(new OwiCommand()); }
public async Task SendCommandAsync_ConnectionIsOpen_SendsCommand() { const byte expectedArmByte = 4; const byte expectedBaseOfArmByte = 6; const byte expectedLedByte = 2; var connectionMock = new Mock <IOwiUsbConnection>(); connectionMock.SetupGet(mock => mock.IsOpen).Returns(true); var packetMock = new Mock <IOwiCommand>(); packetMock.SetupGet(mock => mock.ArmByte).Returns(expectedArmByte); packetMock.SetupGet(mock => mock.BaseByte).Returns(expectedBaseOfArmByte); packetMock.SetupGet(mock => mock.LedByte).Returns(expectedLedByte); var arm = new OwiArm(connectionMock.Object); await arm.SendCommandAsync(packetMock.Object); connectionMock.Verify(mock => mock.SendAsync(expectedArmByte, expectedBaseOfArmByte, expectedLedByte), Times.Once); }