public void TestCalcDataSize_AllZero_CalculatesSizeCorrectly() { uint result = PacketEncodingTools.CalcDataSize(0, 0, 0, 0, 0, 0, 0); uint expected = 23; // Default data size with no sensors Assert.AreEqual(expected, result); }
public void TestConvertTempCToRawData_AnyNumber_MultipliesBy16() { double numToConvert = 3.56; short expected = (short)(numToConvert * 16); short result = PacketEncodingTools.ConvertTempCToRawData(numToConvert); Assert.AreEqual(expected, result); }
public void TestCalcDataSize_AzEncoder_CalculatesSizeCorrectly() { int azEnc = 1; // 2 bytes uint result = PacketEncodingTools.CalcDataSize(0, 0, 0, 0, 0, 0, azEnc); uint expected = 23 + 2; // Default data size plus size of sensor data Assert.AreEqual(expected, result); }
public void TestCalcDataSize_ElTemperature_CalculatesSizeCorrectly() { int elTemp = 1; // 2 bytes uint result = PacketEncodingTools.CalcDataSize(0, 0, 0, elTemp, 0, 0, 0); uint expected = 23 + 2; // Default data size plus size of sensor data Assert.AreEqual(expected, result); }
public void TestConvertDegreesToRawElData_AnyNumber_FormulaCalculatesCorrectly() { double numToConvert = 3.56; short expected = (short)Math.Round((numToConvert - 104.375) / -0.25); short result = PacketEncodingTools.ConvertDegreesToRawElData(numToConvert); Assert.AreEqual(expected, result); }
public void TestCalcDataSize_CbAccelerometer_CalculatesSizeCorrectly() { int cbAcc = 1; // 6 bytes uint result = PacketEncodingTools.CalcDataSize(0, 0, cbAcc, 0, 0, 0, 0); uint expected = 23 + 6; // Default data size plus size of sensor data Assert.AreEqual(expected, result); }
public void TestConvertDegreesToRawElData_AnyDoubleData_CalculatesCorrectly() { double input = 1.1; short result = PacketEncodingTools.ConvertDegreesToRawElData(input); short expected = (short)Math.Round((input - 104.375) / -0.25); Assert.AreEqual(expected, result); }
public void TestConvertDegreesToRawAzData_AnyDoubleData_CalculatesCorrectly() { double input = 1.1; short result = PacketEncodingTools.ConvertDegreesToRawAzData(input); short expected = (short)(SensorNetworkConstants.AzimuthEncoderScaling * input / 360 * -1); Assert.AreEqual(expected, result); }
public void TestConvertDegreesToRawAzData_AnyNumber_FormulaCalculatesCorrectly() { double numToConvert = 3.56; short expected = (short)(SensorNetworkConstants.AzimuthEncoderScaling * numToConvert / 360 * -1); short result = PacketEncodingTools.ConvertDegreesToRawAzData(numToConvert); Assert.AreEqual(expected, result); }
public void TestConvertTempCToRawData_AnyDoubleData_MultipliesCorrectly() { double input = 1.1; short result = PacketEncodingTools.ConvertTempCToRawData(input); short expected = 17; Assert.AreEqual(expected, result); }
public void TestAdd16BitValueToByteArray_Max16BitUnsignedValue_ConvertsToByteArray() { short max = 32767; byte[] resultBytes = new byte[2]; int counter = 0; PacketEncodingTools.Add16BitValueToByteArray(ref resultBytes, ref counter, max); // Create expected byte array byte[] expectedBytes = new byte[2]; expectedBytes[0] = 127; // 127 because it is positive expectedBytes[1] = 255; Assert.IsTrue(resultBytes.SequenceEqual(expectedBytes)); }
public void TestAdd16BitValueToByteArray_Min16BitUnsignedValue_ConvertsToByteArray() { short min = -32768; byte[] resultBytes = new byte[2]; int counter = 0; PacketEncodingTools.Add16BitValueToByteArray(ref resultBytes, ref counter, min); // Create expected byte array byte[] expectedBytes = new byte[2]; expectedBytes[0] = 128; expectedBytes[1] = 0; Assert.IsTrue(resultBytes.SequenceEqual(expectedBytes)); }
public void TestAdd32BitValueToByteArray_Max32BitUnsignedValue_ConvertsToByteArray() { uint max = 4294967295; byte[] resultBytes = new byte[4]; int counter = 0; PacketEncodingTools.Add32BitValueToByteArray(ref resultBytes, ref counter, max); // Create expected byte array byte[] expectedBytes = new byte[4]; expectedBytes[0] = 255; expectedBytes[1] = 255; expectedBytes[2] = 255; expectedBytes[3] = 255; Assert.IsTrue(resultBytes.SequenceEqual(expectedBytes)); }
public void TestGetElevationAxisPositionFromBytes_BytesToPositionWithOffset_ReturnsPosition() { // byte size for an axis position is 2 bytes byte[] pos = new byte[2]; // Encode int i = 0; double expected = 50; short encoded = PacketEncodingTools.ConvertDegreesToRawElData(expected); PacketEncodingTools.Add16BitValueToByteArray(ref pos, ref i, encoded); // Decode i = 0; int offset = 10; double result = PacketDecodingTools.GetElevationAxisPositionFromBytes(ref i, pos, offset, 0); Assert.AreEqual(expected - offset, result, 0.16); }
public void TestGetAzimuthAxisPositionFromBytes_BytesToPosition_ReturnsPosition() { // byte size for an axis position is 2 bytes byte[] pos = new byte[2]; // Encode int i = 0; // 310 is 50 degrees away from 0, on the opposite end of 50 double expected = 50; short encoded = PacketEncodingTools.ConvertDegreesToRawAzData(expected); PacketEncodingTools.Add16BitValueToByteArray(ref pos, ref i, encoded); // Decode i = 0; int offset = 0; double result = PacketDecodingTools.GetAzimuthAxisPositionFromBytes(ref i, pos, offset, 0); Assert.AreEqual(expected, result, 0.16); }
public void TestGetAzimuthAxisPositionFromBytes_CalculatedGreaterThan360_ReturnsOriginalValue() { // byte size for an axis position is 2 bytes byte[] pos = new byte[2]; // Encode int i = 0; double initialValue = 361; short encoded = PacketEncodingTools.ConvertDegreesToRawAzData(initialValue); PacketEncodingTools.Add16BitValueToByteArray(ref pos, ref i, encoded); // Decode i = 0; int offset = 0; int expected = 10; double result = PacketDecodingTools.GetAzimuthAxisPositionFromBytes(ref i, pos, offset, 10); Assert.AreEqual(expected, result, 0.16); }
public void TestGetAzimuthAxisPositionFromBytes_BytesToPositionWithOffset_ReturnsNormalizedPosition() { // byte size for an axis position is 2 bytes byte[] pos = new byte[2]; // Encode int i = 0; double initialValue = 50; short encoded = PacketEncodingTools.ConvertDegreesToRawAzData(initialValue); PacketEncodingTools.Add16BitValueToByteArray(ref pos, ref i, encoded); // Decode i = 0; // With an offset of 60, that would make the origination originally -10, but with normalization, it should be 350 int offset = 60; double expected = 350; double result = PacketDecodingTools.GetAzimuthAxisPositionFromBytes(ref i, pos, offset, 0); Assert.AreEqual(expected, result, 0.16); }