Ejemplo n.º 1
0
    public void HubAttachedIOEncoder_Decode_AttachedVirutalIO(string messageAsString, DeviceType expectedType, byte expectedPortId, byte portA, byte portB)
    {
        // arrange
        var data = BytesStringUtil.StringToData(messageAsString).AsSpan()[3..];

        // act
        var message = new HubAttachedIOEncoder().Decode(0x00, data) as HubAttachedIOForAttachedVirtualDeviceMessage;

        // assert
        Assert.Equal(expectedPortId, message.PortId);
        Assert.Equal(expectedType, message.IOTypeId);
        Assert.Equal(portA, message.PortAId);
        Assert.Equal(portB, message.PortBId);
    }
Ejemplo n.º 2
0
    public void HubAttachedIOEncoder_Decode_Attached <T>(string messageAsString, DeviceType expectedType, byte expectedPortId, string expectedHwVersion, string expectedSwVersion)
    {
        // arrange
        var data = BytesStringUtil.StringToData(messageAsString).AsSpan()[3..];

        // act
        var message = new HubAttachedIOEncoder().Decode(0x00, data) as HubAttachedIOForAttachedDeviceMessage;

        // assert
        Assert.Equal(expectedPortId, message.PortId);
        Assert.Equal(expectedType, message.IOTypeId);
        Assert.Equal(new Version(expectedHwVersion), message.HardwareRevision);
        Assert.Equal(new Version(expectedSwVersion), message.SoftwareRevision);

        // reverse test
        var reverseMessage = new HubAttachedIOForAttachedDeviceMessage(expectedPortId, expectedType, Version.Parse(expectedHwVersion), Version.Parse(expectedSwVersion));

        // act
        var reverseData         = MessageEncoder.Encode(reverseMessage, null);
        var reverseDataAsString = BytesStringUtil.DataToString(reverseData);

        Assert.Equal(messageAsString, reverseDataAsString);
    }