मैं कोड के एक टुकड़े के लिए एक यूनिट टेस्ट लिखने की कोशिश कर रहा हूं जो बड़ी मात्रा में टेक्स्ट उत्पन्न करता है। मैंने एक ऐसे मुद्दे में भाग लिया है जहां "अपेक्षित" और "वास्तविक" तार बराबर दिखाई देते हैं, लेकिन Assert.AreEqual फेंकता है, और समानता ऑपरेटर और Equals()
दोनों झूठी वापसी करते हैं। GetHashCode()
का परिणाम दोनों मानों के लिए भी अलग है।सी # स्ट्रिंग समानता ऑपरेटर झूठी वापसी करता है, लेकिन मुझे पूरा यकीन है कि यह सच होना चाहिए ... क्या?
हालांकि, टेक्स्ट स्ट्रिंग्स में दोनों तारों को डालने और डिफमेर्ज से तुलना करने से मुझे पता चलता है कि वे वही हैं।
इसके अतिरिक्त, Encoding.ASCII.GetBytes()
दोनों मानों पर और फिर SequenceEquals
का उपयोग करके परिणामी बाइट सरणी की तुलना करने के लिए सही हो जाता है।
मूल्य 34 केबी प्रत्येक हैं, इसलिए मैं उन्हें अभी यहां रख कर रखूंगा। कोई विचार? मैं पूरी तरह से स्टंप हूँ।
'एन्कोडिंग। यूनिकोड.गेटबाइट्स()' - एक ही व्यवहार का प्रयास करें? –
string.Equals (yourstring, StringComparison.InvariantCulture) क्या करता है? –
क्या आप केवल यूनिट टेस्ट पोस्ट कर सकते हैं? –