public void Binary_encoder_with_decoder()
        {
            IBinaryDecoder decoder = new BinaryDecoder();

            decoder.ResetPayload("1918FC01F04DF851");
            Assert.Equal("1918FC01F04D", decoder.DecodeNextString(12));
            Assert.Equal(-8, decoder.DecodeNextInt(2));
            Assert.Equal(81, decoder.DecodeNextInt(2));
        }
        public void Binary_decoder_for_positive_bytes()
        {
            IBinaryDecoder decoder = new BinaryDecoder();

            decoder.ResetPayload("76F3AC3ACB5AB325AB32C15AB32C775AB32C");
            Assert.Equal(7, decoder.DecodeNextInt(1));
            Assert.Equal(111, decoder.DecodeNextInt(2));
            Assert.Equal(940, decoder.DecodeNextInt(3));
            Assert.Equal(15051, decoder.DecodeNextInt(4));
            Assert.Equal(371506, decoder.DecodeNextInt(5));
            Assert.Equal(5944108, decoder.DecodeNextInt(6));
            Assert.Equal(22721324, decoder.DecodeNextInt(7));
            Assert.Equal(2002432812, decoder.DecodeNextInt(8));
        }
        public void Binary_decoder_for_negative_bytes()
        {
            IBinaryDecoder decoder = new BinaryDecoder();

            decoder.ResetPayload("EADCAD8C9A9EC6BD1EA1B8C10C5BD18A0E2A");
            Assert.Equal(-2, decoder.DecodeNextInt(1));
            Assert.Equal(-83, decoder.DecodeNextInt(2));
            Assert.Equal(-851, decoder.DecodeNextInt(3));
            Assert.Equal(-29542, decoder.DecodeNextInt(4));
            Assert.Equal(-398229, decoder.DecodeNextInt(5));
            Assert.Equal(-3020261, decoder.DecodeNextInt(6));
            Assert.Equal(-121566117, decoder.DecodeNextInt(7));
            Assert.Equal(-779481558, decoder.DecodeNextInt(8));
        }