У меня есть следующий тест, который, кажется, производит те же строки, но Assert.AreEqual завершается неудачей.
[TestMethod]
public void Decompressed_test_should_equal_to_text_before_compression()
{
TextCompressor compressor = new TextCompressor();
Random r = new Random((int)DateTime.Now.Ticks);
for (int i = 500; i < 1500; i++)
{
char[] testArray = new char[i];
for (int j = 0; j < i; j++)
{
char randomChar = (char)(r.Next(256, 65536));
testArray[j] = randomChar;
}
string testString = new String(testArray);
string compressed = compressor.Compress(testString);
string decompressed = compressor.Decompress(compressed);
Assert.AreEqual(testString.Length, decompressed.Length);
Assert.AreEqual(testString, decompressed, false, CultureInfo.InvariantCulture);
}
}
компрессор. Компрессор и компрессор. Декомпрессия выполняет некоторое сжатие и декомпрессию с помощью GZipStream.
Проходит, если я пытаюсь (65, 90) вместо (256, 65536), поэтому я предполагаю, что это как-то связано с юникодом. Я попробовал CurrentCulture и никакой культуры вообще вместо InvariantCulture, и он все еще терпит неудачу. Но получающиеся строки выглядят одинаково:
Ошибка Assert.AreEqual.
Ожидаемый:
<☔ ฺ 疉 鎷 얚 跨 꿌 沩 얫 嘹 ֨ ز 항 們 嵜 浮 䑹 شم 靄 斳 薃 픢 萁 ⯬ 쫎 ʛ⫕ 蝺 ꄗ 穌 넢 뇌 䶆 멊 큀퉆 䐫 ̥ 괊 ⑆ 놸 僥 ̅ᵀ 㣚 ꢅ 뺓 䇚 녚 伀 讍 홬 䈕 캾 撏 Ჴ 孢 黮 摠 뮡 䌦 윃 ᬳ 狚 䆙 툾훶 䏤 ꛈṻ⟧㉖ 鮸 蒵 萗 냤 퇅서 㪨 瀲 鰪 残 䓴 ۇ 넃 櫜 㑦 䢻쮓죣 䕱 䶘 㴝 姳 뿝 嘼 ᷨ 㗬 꺬 櫣 涷 ꠶ 浒 껅 က 㷕 䩉 毎 覛 ⧹ 䮯 嬇 힚 艐 Ὑ 쇕횻 鸙 蹻 硐 䈆 쓖 ⸛ 錼 鰙 ኰ 乒 ⺴ 썓힠 䵓 ꅄ ⵈ桃 怅 㾈 枟 ⏠ه 폫 ا 琖 ퟰ 乼 쩐 鑈 푷 ᫇ 蕱 늛 쭡 䙠 ⲓ ᒇꪮ 툅 ⃑ꦴ 돻 ♹ᢋ 麝 熪 뚭 Ћ 䌚 娯 钮 ⡃ 㪿 ㅞ ⤩ 㥍 車 䎘 磛 蚾ㅸ 擫 떦 蝳 分 鰽 䠺 ꭍ 튘폻 ⥽ⳉ 历 驿 똮 ⯴⋟Ḋ 룴 墭 䐣 앾 郢 ᵸᮄ 杗 奪 騑 硼 佑 烑 鄗 䳘 핬 溴 墽 炁 ࣘ ヲ 栥 풼 ಃ 斗 狹 就쵎 嬒 瀃 碂 밎 崹 䎐 貇 汫 踖 뢸 숥퍞 르뗿 䭯 䖝 䱅 䵱 꽔븽 䢴 ꁅ⟼ 蒠 癸 ꩽ 靔 临 䚝! ⩏ 鍁 Ꮨ䷇ 쁐쨒 ʊ 쪦 鄭 借 滋 铆 ᮉ 嚃 ᩨ ိ 펇 ꮼ 뇄 』ᰉ 㕾 枒 鯅 蛺 䠿 櫄 築 픆 车 똅 ㈆ّ Ἃ 荞 괋 랆 偦 뤰 䝷 핸 ⹝ 屑 素 蝨 怀 猔 勛 碉 퀪 睹 Ⓥ 䍙 ಗ 䤮 뾿 谢 ꁼ 戻 ڳ ᆯ콧 偪 ز 븭 碇 쮢 籍 ⁜ 왋 壝 駡 暷 샖 ࣵ 艫 䃴 厫 ᢉ 慨 䁆 ꂴ 溘 欋 옭 螶 䦗 跠 﨔 膉 痹 邘 ⋫ 吪 멚 埣 ꯕ 扌 옘 广 犵 肖 街 㶕 畅 몡 ↇ꠫ 襤 픧 ၥ 帻 놤 ਰ 惘 똞 颤 糴 쫼 鿋 䬝 穫 ⺁ 峁 踷 锝 副 鰀 嗊 ⹀ 谲 遲 䩢 푑팾 糔 뭯 ࣷ䷴ 䬾 갭 ⶵ 틩 魨 㵻 恬 ҅ པ ᣄⲪ 豩 뛌 ꛵ 㥨 몙 〼 △ ⏮ 큤 亃 ꢡ 웼 ఐ 칇 뻻펂 㢓 吋 䂃 䨠 䕱>.
Фактический:
<☔ ฺ 疉 鎷 얚 跨 꿌 沩 얫 嘹 ֨ ز 항 們 嵜 浮 䑹 شم 靄 斳 薃 픢 萁 ⯬ 쫎 ʛ⫕ 蝺 ꄗ 穌 넢 뇌 䶆 멊 큀퉆 䐫 ̥ 괊 ⑆ 놸 僥 ̅ᵀ 㣚 ꢅ 뺓 䇚 녚 伀 讍 홬 䈕 캾 撏 Ჴ 孢 黮 摠 뮡 䌦 윃 ᬳ 狚 䆙 툾훶 䏤 ꛈṻ⟧㉖ 鮸 蒵 萗 냤 퇅서 㪨 瀲 鰪 残 䓴 ۇ 넃 櫜 㑦 䢻쮓죣 䕱 䶘 㴝 姳 뿝 嘼 ᷨ 㗬 꺬 櫣 涷 ꠶ 浒 껅 က 㷕 䩉 毎 覛 ⧹ 䮯 嬇 힚 艐 Ὑ 쇕횻 鸙 蹻 硐 䈆 쓖 ⸛ 錼 鰙 ኰ 乒 ⺴ 썓힠 䵓 ꅄ ⵈ桃 怅 㾈 枟 ⏠ه 폫 ا 琖 ퟰ 乼 쩐 鑈 푷 ᫇ 蕱 늛 쭡 䙠 ⲓ ᒇꪮ 툅 ⃑ꦴ 돻 ♹ᢋ 麝 熪 뚭 Ћ 䌚 娯 钮 ⡃ 㪿 ㅞ ⤩ 㥍 車 䎘 磛 蚾ㅸ 擫 떦 蝳 分 鰽 䠺 ꭍ 튘폻 ⥽ⳉ 历 驿 똮 ⯴⋟Ḋ 룴 墭 䐣 앾 郢 ᵸᮄ 杗 奪 騑 硼 佑 烑 鄗 䳘 핬 溴 墽 炁 ࣘ ヲ 栥 풼 ಃ 斗 狹 就쵎 嬒 瀃 碂 밎 崹 䎐 貇 汫 踖 뢸 숥퍞 르뗿 䭯 䖝 䱅 䵱 꽔븽 䢴 ꁅ⟼ 蒠 癸 ꩽ 靔 临 䚝! ⩏ 鍁 Ꮨ䷇ 쁐쨒 ʊ 쪦 鄭 借 滋 铆 ᮉ 嚃 ᩨ ိ 펇 ꮼ 뇄 』ᰉ 㕾 枒 鯅 蛺 䠿 櫄 築 픆 车 똅 ㈆ّ Ἃ 荞 괋 랆 偦 뤰 䝷 핸 ⹝ 屑 素 蝨 怀 猔 勛 碉 퀪 睹 Ⓥ 䍙 ಗ 䤮 뾿 谢 ꁼ 戻 ڳ ᆯ콧 偪 ز 븭 碇 쮢 籍 ⁜ 왋 壝 駡 暷 샖 ࣵ 艫 䃴 厫 ᢉ 慨 䁆 ꂴ 溘 欋 옭 螶 䦗 跠 﨔 膉 痹 邘 ⋫ 吪 멚 埣 ꯕ 扌 옘 广 犵 肖 街 㶕 畅 몡 ↇ꠫ 襤 픧 ၥ 帻 놤 ਰ 惘 똞 颤 糴 쫼 鿋 䬝 穫 ⺁ 峁 踷 锝 副 鰀 嗊 ⹀ 谲 遲 䩢 푑팾 糔 뭯 ࣷ䷴ 䬾 갭 ⶵ 틩 魨 㵻 恬 ҅ པ ᣄⲪ 豩 뛌 ꛵ 㥨 몙 〼 △ ⏮ 큤 亃 ꢡ 웼 ఐ 칇 뻻펂 㢓 吋 䂃 䨠 䕱>.
Чего мне не хватает?