Example #1
0
        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);
        }
Example #2
0
        public void TestConvertTempCToRawData_AnyNumber_MultipliesBy16()
        {
            double numToConvert = 3.56;

            short expected = (short)(numToConvert * 16);

            short result = PacketEncodingTools.ConvertTempCToRawData(numToConvert);

            Assert.AreEqual(expected, result);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        public void TestConvertTempCToRawData_AnyDoubleData_MultipliesCorrectly()
        {
            double input = 1.1;

            short result = PacketEncodingTools.ConvertTempCToRawData(input);

            short expected = 17;

            Assert.AreEqual(expected, result);
        }
Example #11
0
        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));
        }
Example #12
0
        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));
        }
Example #13
0
        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);
        }