public void UnknownString_CreatesNewInstance()
        {
            WellknownStringDecoder decoder = new WellknownStringDecoder();

            byte[] encodedBytes = Encoding.UTF8.GetBytes("abc");

            string decodedString1 = decoder.DecodeString(new ArraySegment <byte>(encodedBytes));
            string decodedString2 = decoder.DecodeString(new ArraySegment <byte>(encodedBytes));

            Assert.IsTrue(!ReferenceEquals(decodedString1, decodedString2));
        }
        public void KnownString_SameInstanceReturned()
        {
            WellknownStringDecoder decoder = new WellknownStringDecoder();

            decoder.AddWellknownString("abc");

            byte[] encodedBytes = Encoding.UTF8.GetBytes("abc");

            string decodedString1 = decoder.DecodeString(new ArraySegment <byte>(encodedBytes));
            string decodedString2 = decoder.DecodeString(new ArraySegment <byte>(encodedBytes));

            Assert.IsTrue(ReferenceEquals(decodedString1, decodedString2));
        }