From e5d9b9db6db987f7fb066e0211251a122a529bfb Mon Sep 17 00:00:00 2001 From: Abel Silva Date: Tue, 16 May 2017 18:30:39 -0300 Subject: [PATCH] fixing 5.001 feedback translation and tests --- src/KNXLib/DPT/DataPoint8BitNoSignScaledScaling.cs | 6 +++++- .../Unit/DataPoint/DataPoint8BitNoSignScaledScaling.cs | 10 +++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/KNXLib/DPT/DataPoint8BitNoSignScaledScaling.cs b/src/KNXLib/DPT/DataPoint8BitNoSignScaledScaling.cs index efb0f9f..d6a4d92 100644 --- a/src/KNXLib/DPT/DataPoint8BitNoSignScaledScaling.cs +++ b/src/KNXLib/DPT/DataPoint8BitNoSignScaledScaling.cs @@ -23,7 +23,11 @@ public override object FromDataPoint(string data) public override object FromDataPoint(byte[] data) { - if (data == null || data.Length != 1) + if (data == null) + return 0; + if (data.Length == 2) + data = data.Skip(1).ToArray(); + else if (data.Length != 1) return 0; var value = (int) data[0]; diff --git a/tests/KNXLibTests/Unit/DataPoint/DataPoint8BitNoSignScaledScaling.cs b/tests/KNXLibTests/Unit/DataPoint/DataPoint8BitNoSignScaledScaling.cs index d240e5d..1672140 100644 --- a/tests/KNXLibTests/Unit/DataPoint/DataPoint8BitNoSignScaledScaling.cs +++ b/tests/KNXLibTests/Unit/DataPoint/DataPoint8BitNoSignScaledScaling.cs @@ -12,15 +12,15 @@ public void DataPoint8BitNoSignScaledScalingTest() string dptType = "5.001"; int scale0 = 0; - byte[] scale0Bytes = {0x00}; + byte[] scale0Bytes = { 0x00, 0x00 }; int scale20 = 20; - byte[] scale20Bytes = {0x33}; + byte[] scale20Bytes = { 0x00, 0x33 }; int scale60 = 60; - byte[] scale60Bytes = {0x99}; + byte[] scale60Bytes = { 0x00, 0x99 }; int scale80 = 80; - byte[] scale80Bytes = {0xCC}; + byte[] scale80Bytes = { 0x00, 0xCC }; int scale100 = 100; - byte[] scale100Bytes = {0xFF}; + byte[] scale100Bytes = { 0x00, 0xFF }; Assert.AreEqual(scale0, ((int) (decimal) DataPointTranslator.Instance.FromDataPoint(dptType, scale0Bytes))); Assert.AreEqual(scale20, ((int) (decimal) DataPointTranslator.Instance.FromDataPoint(dptType, scale20Bytes)));