public void Setup()
 {
     handler = new Mock <IContextWordsHandler>();
     handler.Setup(item => item.Context).Returns(new SessionContext(new NullLogger <SessionContext>()));
     parent              = new TestWordItem("Text");
     parent.WordIndex    = 1;
     instance            = new WordItemRelationships(handler.Object, parent);
     parent.Relationship = instance;
 }
        public void SimpleInverted()
        {
            var previous             = new Mock <IWordItem>();
            var previousRelationship = new WordItemRelationships(handler.Object, previous.Object);

            previousRelationship.Next = instance.Owner;
            previous.Setup(item => item.Relationship).Returns(previousRelationship);
            previous.Setup(item => item.IsInvertor).Returns(true);
            instance.Previous = previous.Object;
            Assert.AreEqual(previous.Object, instance.Inverted);
        }
        public void TryGetValue(string word, string raw, bool expected)
        {
            var wordItem = new Mock <IWordItem>();

            wordItem.Setup(item => item.Text).Returns(word);
            wordItem.Setup(item => item.Stemmed).Returns(raw);
            var session = new Mock <ISessionContext>();

            wordItem.Setup(item => item.Session).Returns(session.Object);
            session.Setup(item => item.NGram).Returns(1);
            var relationships = new WordItemRelationships(new Mock <IContextWordsHandler>().Object, wordItem.Object);

            wordItem.Setup(item => item.Relationship).Returns(relationships);

            int result;

            Assert.Throws <ArgumentNullException>(() => table.TryGetValue(null, out result));
            var resultItem = table.TryGetWordValue(wordItem.Object, out result);

            Assert.AreEqual(expected, resultItem);
        }