コード例 #1
0
        public void CreateBad()
        {
            var value = SentimentValue.CreateBad(wordItem.Object);

            Assert.AreEqual(-1, value.DataValue.Value);
            Assert.IsFalse(value.DataValue.IsPositive);
        }
コード例 #2
0
        public void GetDistanced()
        {
            var value     = SentimentValue.CreateBad(wordItem.Object);
            var distanced = value.GetDistanced(1);

            Assert.AreEqual(-1, distanced.DataValue.Value);
            distanced = value.GetDistanced(2);
            Assert.AreEqual(-1, distanced.DataValue.Value);
            distanced = value.GetDistanced(3);
            Assert.AreEqual(-0.5, distanced.DataValue.Value);
            distanced = value.GetDistanced(5);
            Assert.AreEqual(-0.25, distanced.DataValue.Value);
        }
コード例 #3
0
        public void Setup()
        {
            sentence     = new Mock <ISentence>();
            parent       = new Mock <IWordItemRelationships>();
            sentencePart = new Mock <ISentencePart>();
            owner        = new Mock <IWordItem>();
            child        = new Mock <IWordItemRelationships>();
            parent.Setup(item => item.Owner)
            .Returns(owner.Object);
            owner.Setup(item => item.WordIndex)
            .Returns(5);
            first  = new Mock <IWordItem>();
            second = new Mock <IWordItem>();
            third  = new Mock <IWordItem>();
            sentence.Setup(item => item.Occurrences)
            .Returns(
                new[]
            {
                first.Object,
                second.Object,
                third.Object
            });

            sentencePart.Setup(item => item.Sentence)
            .Returns(sentence.Object);
            first.Setup(item => item.POS).Returns(POSTags.Instance.NN);
            first.Setup(item => item.Text).Returns("1");
            first.Setup(item => item.IsSentiment)
            .Returns(true);
            first.Setup(item => item.IsFeature)
            .Returns(false);
            first.Setup(item => item.WordIndex)
            .Returns(1);

            second.Setup(item => item.Text).Returns("2");
            second.Setup(item => item.POS).Returns(POSTags.Instance.NN);
            second.Setup(item => item.IsSentiment)
            .Returns(false);
            second.Setup(item => item.IsFeature)
            .Returns(false);
            second.Setup(item => item.WordIndex)
            .Returns(3);

            third.Setup(item => item.Text).Returns("3");
            third.Setup(item => item.POS).Returns(POSTags.Instance.NN);
            third.Setup(item => item.IsSentiment)
            .Returns(true);
            third.Setup(item => item.IsFeature)
            .Returns(false);
            third.Setup(item => item.WordIndex)
            .Returns(10);

            parent.Setup(item => item.Part)
            .Returns(sentencePart.Object);

            first.Setup(item => item.Relationship)
            .Returns(child.Object);
            second.Setup(item => item.Relationship)
            .Returns(child.Object);
            third.Setup(item => item.Relationship)
            .Returns(child.Object);

            child.SetupSequence(item => item.Sentiment)
            .Returns(SentimentValue.CreateBad(owner.Object))
            .Returns(SentimentValue.CreateBad(owner.Object))
            .Returns(SentimentValue.CreateGood(owner.Object))
            .Returns(SentimentValue.CreateGood(owner.Object));
            child.Setup(item => item.PriorQuants)
            .Returns(new List <IWordItem>());
        }