public static void TestStringPacking()
        {
            var noStrings    = new string[0];
            var oneStrings   = new[] { "" };
            var twoStrings   = new[] { "", "ab" };
            var threeStrings = new[] { "a", "b", "" };
            var noPacked     = BFast.PackStrings(noStrings);
            var onePacked    = BFast.PackStrings(oneStrings);
            var twoPacked    = BFast.PackStrings(twoStrings);
            var threePacked  = BFast.PackStrings(threeStrings);

            Assert.AreEqual(0, noPacked.Length);
            Assert.AreEqual(1, onePacked.Length);
            Assert.AreEqual(4, twoPacked.Length);
            Assert.AreEqual(5, threePacked.Length);
            Assert.AreEqual(noStrings, BFast.UnpackStrings(noPacked));
            Assert.AreEqual(oneStrings, BFast.UnpackStrings(onePacked));
            Assert.AreEqual(twoStrings, BFast.UnpackStrings(twoPacked));
            Assert.AreEqual(threeStrings, BFast.UnpackStrings(threePacked));
        }