Ejemplo n.º 1
0
        int CheckMeter <T>(TestMeter testMeter, byte[] bytes, ref int byteIndex, int minLength, int maxLength, bool minimizeLength) where T : IBlob, new()
        {
            string baseMessage    = typeof(T).Name;
            int    startByteIndex = byteIndex;

            int minimumBytesToFitFullValue = 0;

            if (minimizeLength)
            {
                for (int index = 0; index < testMeter.ByteArrayValue.Length; ++index)
                {
                    if (testMeter.ByteArrayValue[index] != 0)
                    {
                        minimumBytesToFitFullValue = testMeter.ByteArrayValue.Length - index;
                        break;
                    }
                }
            }

            int maximumMeterSize = maxLength == -1 ? testMeter.ByteArrayValue.Length : Math.Min(testMeter.ByteArrayValue.Length, maxLength);
            int minimumMeterSize = Math.Max(minLength, minimumBytesToFitFullValue);

            if (minimumMeterSize > maximumMeterSize)
            {
                minimumMeterSize = maximumMeterSize;
            }
            int expectedLength = (minimizeLength ? minimumMeterSize : maximumMeterSize);

            Assert.That(bytes[byteIndex++], Is.EqualTo(expectedLength), baseMessage + "MeterLength");
            byteIndex += CheckMultiByteArray(bytes, byteIndex, baseMessage + "MeterValue", GetSubArray(testMeter.ByteArrayValue, testMeter.ByteArrayValue.Length - expectedLength, expectedLength));

            return(byteIndex - startByteIndex);
        }
Ejemplo n.º 2
0
        public FormTool()
        {
            InitializeComponent();

            Channel.IDataChannel channel = Channel.DataChannelFactoryService.getInstance().getDataChannel(meterId, meterType);

            meter = new TestMeter(meterId, channel);
        }