public void Equals() { var attributesModel = new EnglishAttributesModel(); MorphemeEqualityComparer comparer = new MorphemeEqualityComparer(); Assert.IsTrue(comparer.Equals( new Morpheme(attributesModel, "room", EnglishAttributes.O.Lexeme), new Morpheme(attributesModel, "room", EnglishAttributes.O.Lexeme))); Assert.IsFalse(comparer.Equals( new Morpheme(attributesModel, "bla", EnglishAttributes.O.Lexeme), new Morpheme(attributesModel, "room", EnglishAttributes.O.Lexeme))); Assert.IsFalse(comparer.Equals( new Morpheme(attributesModel, "room", EnglishAttributes.O.Lexeme), new Morpheme(attributesModel, "room", EnglishAttributes.A.Lexeme))); }
private void InitializeMorphemes(IEnumerable <Morpheme> morphemes) { using (Trace.Entering()) { MorphemeEqualityComparer morphemeEqualityComparer = new MorphemeEqualityComparer(); myLexemes = new MultiKeyDistinctValueDictionary <string, Morpheme>(EqualityComparer <string> .Default, morphemeEqualityComparer); myNonLexemes = new MultiKeyDistinctValueDictionary <string, Morpheme>(EqualityComparer <string> .Default, morphemeEqualityComparer); foreach (Morpheme morpheme in morphemes) { if (morpheme.IsLexeme) { myLexemes.Add(morpheme.Morph, morpheme); } else { myNonLexemes.Add(morpheme.Morph, morpheme); } } } }