public void Test_Classifier_When_Text_Is_Negative2()
        {
            var positiveText = "I love sunny days";
            var negativeText = "I hate rain";
            var learner      = new TweetLearner();
            var learnLove    = learner.Learn(LearnerState.Empty, new Sentence(positiveText, WordCategory.Positive));
            var testLearner  = learner.Learn(learnLove, new Sentence(negativeText, WordCategory.Negative));
            var classifier   = new TweetClassifier();
            var testResult   = classifier.Classify("there will be rain", testLearner);

            testResult.Sentence.Category.Should().Be(WordCategory.Negative);
        }
        public void Test_Classifier_When_Text_Is_Positive()
        {
            var positiveText = "I love F#";
            var negativeText = "I hate java";
            var learner      = new TweetLearner();
            var learnLove    = learner.Learn(LearnerState.Empty, new Sentence(positiveText, WordCategory.Positive));
            var testLearner  = learner.Learn(learnLove, new Sentence(negativeText, WordCategory.Negative));
            var classifier   = new TweetClassifier();
            var testResult   = classifier.Classify("My brother love F#", testLearner);

            testResult.Sentence.Category.Should().Be(WordCategory.Positive);
        }
        public void Test_Learn_Method_When_Analysis_Result_Is_Empty(WordCategory category, string feature)
        {
            var analysisResult = LearnerState.Empty;
            var classification = new Sentence(feature, category);
            var teacher        = new TweetLearner();
            var testResult     = teacher.Learn(analysisResult, classification);

            int count;

            if (testResult.CategoryPerQuantity.TryGetValue(category, out count))
            {
                count.Should().Be(feature.Tokenize().Count());
            }

            testResult.WordPerQuantity.Count.Should().Be(classification.Text.Tokenize().Count());
        }