public void TestBinaryStringPoolArrayModification() { var encoding = new UTF8Encoding(false, false); var pool = BinaryStringPoolFactory.NewNotConcurrentBinaryStringPool(encoding); var str = "Test"; var strBytes = encoding.GetBytes(str); var strPooled = pool.GetString(strBytes); strBytes[1] = 1; var strPooled2 = pool.GetString(encoding.GetBytes(str)); Assert.AreSame(strPooled, strPooled2); }
public void TestBinaryStringPoolCaching() { var encoding = new UTF8Encoding(false, false); var pool = BinaryStringPoolFactory.NewNotConcurrentBinaryStringPool(encoding); var str1 = "Test"; var str1Pooled = pool.GetString(encoding.GetBytes(str1)); Assert.AreEqual(str1, str1Pooled); Assert.AreNotSame(str1, str1Pooled); var str1PooledAgain = pool.GetString(encoding.GetBytes(str1)); Assert.AreSame(str1Pooled, str1PooledAgain); }
public void TestBinaryStringPoolDifferentStrings() { var encoding = new UTF8Encoding(false, false); var pool = BinaryStringPoolFactory.NewNotConcurrentBinaryStringPool(encoding); var str1 = "Test"; var str1Pooled = pool.GetString(encoding.GetBytes(str1)); Assert.AreEqual(str1, str1Pooled); Assert.AreNotSame(str1, str1Pooled); var str2 = "AnotherTest"; var str2Pooled = pool.GetString(encoding.GetBytes(str2)); Assert.AreEqual(str2, str2Pooled); Assert.AreNotSame(str2, str2Pooled); }