Esempio n. 1
0
        public void TestGoldEncodes()
        {
            var tests = new string[][] {
                new string[] { "upstream/alice29.txt", "gold/alice29.txt.gold" },
                new string[] { "upstream/asyoulik.txt", "gold/asyoulik.txt.gold" },
                new string[] { "upstream/fireworks.jpeg", "gold/fireworks.jpeg.gold" },
                new string[] { "upstream/geo.protodata", "gold/geo.protodata.gold" },
                new string[] { "upstream/html", "gold/html.gold" },
                new string[] { "upstream/html_x_4", "gold/html_x_4.gold" },
                new string[] { "upstream/kppkn.gtb", "gold/kppkn.gtb.gold" },
                new string[] { "upstream/lcet10.txt", "gold/lcet10.txt.gold" },
                new string[] { "upstream/paper-100k.pdf", "gold/paper-100k.pdf.gold" },
                new string[] { "upstream/plrabn12.txt", "gold/plrabn12.txt.gold" },
                new string[] { "upstream/urls.10K", "gold/urls.10K.gold" },
            };

            foreach (var test in tests)
            {
                var data = ReadAll(TestFile(test[0]));
                var gold = ReadAll(TestFile(test[1]));

                var comp = SnappyEncoder.Encode(data);

                Assert.AreEqual(gold.Length, comp.Length);
                AssertArraysEqual(gold, comp);

                Roundtrip(data);
            }
        }
Esempio n. 2
0
        void Roundtrip(byte[] data)
        {
            var comp   = SnappyEncoder.Encode(data);
            var decomp = SnappyDecoder.Decode(comp);

            Assert.AreEqual(data.Length, decomp.Length);
            AssertArraysEqual(data, decomp);
        }
Esempio n. 3
0
        public void TestEmpty()
        {
            byte[] data = new byte[] { };

            var comp = SnappyEncoder.Encode(data);

            AssertArraysEqual(new byte[] { 0x00 }, comp);
        }
Esempio n. 4
0
        public void TestPaddedEncode()
        {
            byte[] data = new byte[] {
                0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
            };

            var off  = Padded(data, 5, 0);
            var comp = SnappyEncoder.Encode(off, 5, off.Length - 5);

            AssertArraysEqual(SnappyEncoder.Encode(data), comp);
        }
Esempio n. 5
0
        public void TestSimple()
        {
            byte[] data = new byte[] {
                0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
            };

            var comp = SnappyEncoder.Encode(data);

            AssertArraysEqual(new byte[] {
                0x12, 0x20, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                0x15, 0x09
            }, comp);

            Roundtrip(data);
        }
Esempio n. 6
0
        public void TestPaddedEncodeToOffset()
        {
            byte[] data = new byte[] {
                0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
            };

            var off = Padded(data, 5, 5);
            var dst = new byte[SnappyEncoder.MaxEncodedLen(off.Length) + 3];
            var len = SnappyEncoder.Encode(off, 5, data.Length, dst, 3, dst.Length - 3);

            var comp = new byte[len];

            Array.Copy(dst, 3, comp, 0, len);

            AssertArraysEqual(SnappyEncoder.Encode(data), comp);
        }