public void UtmeEncoder_Compress_No_Missing_Values_Correctly()
        {
            var original = new[] { "a", "b", "c", "d", "e" };

            var compressed = UtmeEncoder.Compress(original);

            CollectionAssert.AreEqual(original, compressed);
        }
 public void UtmeEncoder_Compress_With_Null_Throws_ArgumentNullException()
 {
     UtmeEncoder.Compress(null);
 }
 public void UtmeEncoder_Compress_With_Null_Throws_ArgumentNullException()
 {
     Assert.ThrowsException <ArgumentNullException>(() => UtmeEncoder.Compress(null));
 }
        public void UtmeEncoder_Compress_All_Missing_Values_Correctly()
        {
            var compressed = UtmeEncoder.Compress(new[] { "", null, " " });

            CollectionAssert.AreEqual(new string[] { }, compressed);
        }
        public void UtmeEncoder_Compress_Ending_Missing_Values_Correctly()
        {
            var compressed = UtmeEncoder.Compress(new[] { "a", "b", "", null, " " });

            CollectionAssert.AreEqual(new[] { "a", "b" }, compressed);
        }
        public void UtmeEncoder_Compress_Starting_Missing_Values_Correctly()
        {
            var compressed = UtmeEncoder.Compress(new[] { "", null, " ", "d", "e" });

            CollectionAssert.AreEqual(new[] { "4!d", "e" }, compressed);
        }
        public void UtmeEncoder_Compress_Middle_Missing_Values_Correctly()
        {
            var compressed = UtmeEncoder.Compress(new[] { "a", null, "c", "d", "", " ", "g" });

            CollectionAssert.AreEqual(new [] { "a", "3!c", "d", "7!g" }, compressed);
        }