Beispiel #1
0
        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);
             }
         }
     }
 }