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)); }