コード例 #1
0
        public void VlqTransitivity()
        {
            for (var i = -255; i < 256; i++)
            {
                dynamic result = Vlq.VlqDecode(Vlq.Encode(i));

                Assert.AreEqual(result.value, i);
                Assert.AreEqual(result.rest, "");
            }
        }
コード例 #2
0
        public void VlqSourceColumn()
        {
            var testString = @"AAIA,CAAC;EACG,WAAA";
            var expected   = new[] { 0, 1, 4, 4 };
            var collection = Vlq.Decode(testString, "").ToArray();

            for (var i = 0; i < collection.Count(); ++i)
            {
                Assert.AreEqual(collection[i].OriginalColumn, expected[i]);
            }
        }
コード例 #3
0
        public void VlqSourceLine()
        {
            var testString = @"AASA;EACI,aAAa,2BAAb;EACA,SAAS,kEAAT";
            var expected   = new[] { 09, 10, 10, 10, 11, 11, 11 };
            var collection = Vlq.Decode(testString, "").ToArray();

            for (var i = 0; i < collection.Count(); ++i)
            {
                Assert.AreEqual(collection[i].OriginalLine, expected[i]);
            }
        }
コード例 #4
0
        public void VlqGeneratedLine()
        {
            var testString = @"AASA;EACI,aAAa,2BAAb;EACA,SAAS,kEAAT";
            var expected   = new[] { 0, 1, 1, 1, 2, 2, 2 };
            var collection = Vlq.Decode(testString, "").ToArray();

            for (var i = 0; i < collection.Count(); ++i)
            {
                Assert.AreEqual(collection[i].GeneratedLine, expected[i]);
            }
        }
コード例 #5
0
        public void VlqTransitivity()
        {
            for (var i = -255; i < 256; i++)
            {
                var reader = new StringReader(Vlq.Encode(i));
                var result = Vlq.VlqDecode(reader);

                Assert.AreEqual(i, result);
                Assert.AreEqual(-1, reader.Peek(), "Stream should be fully consumed");
            }
        }
コード例 #6
0
        public void VlqDecodedMap()
        {
            var testString = @"AASA;EACI,aAAa,2BAAb;EACA,SAAS,kEAAT";
            var expected   = new[]
            {
                new[] { 00, 02, 15, 42, 02, 11, 77 },
                new[] { 00, 01, 01, 01, 02, 02, 02 },
                new[] { 00, 04, 17, 04, 04, 13, 04 },
                new[] { 09, 10, 10, 10, 11, 11, 11 }
            };
            var collection = Vlq.Decode(testString, "").ToArray();

            for (var i = 0; i < collection.Count(); ++i)
            {
                Assert.AreEqual(collection[i].GeneratedColumn, expected[0][i]);
                Assert.AreEqual(collection[i].GeneratedLine, expected[1][i]);
                Assert.AreEqual(collection[i].OriginalColumn, expected[2][i]);
                Assert.AreEqual(collection[i].OriginalLine, expected[3][i]);
            }
        }