Exemple #1
0
        public void NotEnoughBytesToRead()
        {
            Assert.ThrowsException <ArithmeticException>(() =>
            {
                var bytes = "c2 19 7c 5e ff 14 e8".ToByteArrayFromHex();
                ulong dummy1;
                int dummy2;
                VariableLengthInt.ReadOne(bytes, out dummy1, out dummy2);
            });

            Assert.ThrowsException <ArithmeticException>(() =>
            {
                var bytes = "9d 7f 3e".ToByteArrayFromHex();
                ulong dummy1;
                int dummy2;
                VariableLengthInt.ReadOne(bytes, out dummy1, out dummy2);
            });

            Assert.ThrowsException <ArithmeticException>(() =>
            {
                var bytes = "7b".ToByteArrayFromHex();
                ulong dummy1;
                int dummy2;
                VariableLengthInt.ReadOne(bytes, out dummy1, out dummy2);
            });
        }
Exemple #2
0
        public void HappyReadTests()
        {
            var   bytes    = "c2 19 7c 5e ff 14 e8 8c".ToByteArrayFromHex();
            ulong expected = 151288809941952652;
            ulong actual;
            int   bytesUsed;

            VariableLengthInt.ReadOne(bytes, out actual, out bytesUsed);

            Assert.AreEqual(expected, actual);
            Assert.AreEqual(bytes.Length, bytesUsed);


            bytes    = "9d 7f 3e 7d".ToByteArrayFromHex();
            expected = 494878333;

            VariableLengthInt.ReadOne(bytes, out actual, out bytesUsed);

            Assert.AreEqual(expected, actual);
            Assert.AreEqual(bytes.Length, bytesUsed);


            bytes    = "7b bd".ToByteArrayFromHex();
            expected = 15293;

            VariableLengthInt.ReadOne(bytes, out actual, out bytesUsed);

            Assert.AreEqual(expected, actual);
            Assert.AreEqual(bytes.Length, bytesUsed);


            bytes    = "25".ToByteArrayFromHex();
            expected = 37;

            VariableLengthInt.ReadOne(bytes, out actual, out bytesUsed);

            Assert.AreEqual(expected, actual);
            Assert.AreEqual(bytes.Length, bytesUsed);


            bytes    = "40 25".ToByteArrayFromHex();
            expected = 37;

            VariableLengthInt.ReadOne(bytes, out actual, out bytesUsed);

            Assert.AreEqual(expected, actual);
            Assert.AreEqual(bytes.Length, bytesUsed);
        }
Exemple #3
0
        public void TrySqueezingToUInt()
        {
            var bytes    = "9d 7f 3e 7d".ToByteArrayFromHex();
            int expected = 494878333;

            VariableLengthInt.ReadOne(bytes, out int actual, out int bytesUsed);

            Assert.AreEqual(expected, actual);
            Assert.AreEqual(bytes.Length, bytesUsed);



            Assert.ThrowsException <ArithmeticException>(() =>
            {
                var badBytes = "c2 19 7c 5e ff 14 e8".ToByteArrayFromHex();
                int dummy1;
                int dummy2;
                VariableLengthInt.ReadOne(badBytes, out dummy1, out dummy2);
            });
        }