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

            Assert.AreEqual(1, value.DataValue.Value);
            Assert.IsTrue(value.DataValue.IsPositive);
        }
コード例 #2
0
        public void CalculateQuantMultiTest()
        {
            relationships.Setup(item => item.Inverted)
            .Returns((IWordItem)null);
            relationships.Setup(item => item.PriorQuants)
            .Returns(
                new List <IWordItem>
            {
                new TestWordItem("Word")
                {
                    QuantValue = 10,
                },
                new TestWordItem("Word")
                {
                    QuantValue = 2,
                }
            });

            var value  = SentimentValue.CreateGood(wordItem.Object);
            var target = new SentimentCalculator(value);

            var result = (double)target.InvokeMethod("CalculateQuant");

            Assert.AreEqual(6, result);
        }
コード例 #3
0
        public void SentimentCalculatorConstructorTest()
        {
            IWordItem invertor = new TestWordItem(String.Empty);

            relationships.Setup(item => item.Inverted)
            .Returns(invertor);
            relationships.Setup(item => item.PriorQuants)
            .Returns(new List <IWordItem>());

            var value  = SentimentValue.CreateGood(wordItem.Object);
            var target = new SentimentCalculator(value);

            Assert.AreEqual(wordItem.Object, target.GetField <IWordItem>("wordItem"));
            Assert.AreEqual(value, target.GetField <SentimentValue>("sentimentValue"));
        }
コード例 #4
0
        public void CalculateInvertTest()
        {
            IWordItem invertor = new TestWordItem("Invert");

            relationships.Setup(item => item.Inverted)
            .Returns(invertor);
            relationships.Setup(item => item.PriorQuants)
            .Returns(new List <IWordItem>());

            var value = SentimentValue.CreateGood(wordItem.Object);

            var target = new SentimentCalculator(value);

            var result = target.Calculate();

            Assert.AreEqual(-1, result.DataValue.Value);
        }
コード例 #5
0
        public void CalculateSmallQuantTest()
        {
            relationships.Setup(item => item.Inverted)
            .Returns((IWordItem)null);
            relationships.Setup(item => item.PriorQuants)
            .Returns(
                new List <IWordItem>
            {
                new TestWordItem("Quant")
                {
                    QuantValue = 0.5
                }
            });

            var value  = SentimentValue.CreateGood(wordItem.Object);
            var target = new SentimentCalculator(value);
            var result = target.Calculate();

            Assert.AreEqual(0.5, result.DataValue.Value);
        }
コード例 #6
0
        public void CalculateQuantInvertor()
        {
            var invertor = new TestWordItem(String.Empty);

            relationships.Setup(item => item.Inverted)
            .Returns(invertor);
            relationships.Setup(item => item.PriorQuants)
            .Returns(
                new List <IWordItem>
            {
                new TestWordItem("Word")
                {
                    QuantValue = 10,
                }
            });

            var value  = SentimentValue.CreateGood(wordItem.Object);
            var target = new SentimentCalculator(value);

            var result = (double)target.InvokeMethod("CalculateQuant");

            Assert.AreEqual(10, result);
        }
コード例 #7
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>());
        }