Beispiel #1
0
        public void WhenPyYoNotFound_returnsSentence()
        {
            var sentence = new Sentence()
            {
                Texts = new List <Text>()
                {
                    new Text()
                    {
                        pe_tag = "", pe_text = "Hi"
                    },
                    new Text()
                    {
                        pe_tag = "VB", pe_text = "there"
                    },
                    new Text()
                    {
                        pe_tag = "BKP", pe_text = " . "
                    }
                }
            };

            PyYoUnitStrategy pyYouUnitStrategy = new PyYoUnitStrategy();

            sentence = pyYouUnitStrategy.ShuffleSentence(sentence);

            Assert.That(sentence.Texts[0].pe_text, Is.EqualTo("Hi"));
            Assert.That(sentence.Texts[1].pe_text, Is.EqualTo("there"));
            Assert.That(sentence.Texts[2].pe_text, Is.EqualTo(" . "));
        }
Beispiel #2
0
        public void Shuffler_Routines_maintain_FullStop_At_end_of_sentences()
        {
            var sentence = LargeSentence;

            var clauserUnitStrategy = new ClauserUnitStrategy();

            sentence = clauserUnitStrategy.ShuffleSentence(sentence);

            var adverbUnitStrategy = new AdverbUnitStrategy();

            sentence = adverbUnitStrategy.ShuffleSentence(sentence);

            var timerUnitStrategy = new TimerUnitStrategy();

            sentence = timerUnitStrategy.ShuffleSentence(sentence);

            var mDUnitStrategy = new MdUnitStrategy();

            sentence = mDUnitStrategy.ShuffleSentence(sentence);

            var mdbkUnitStrategy = new MdbkUnitStrategy();

            sentence = mdbkUnitStrategy.ShuffleSentence(sentence);

            var mdNulThatUnitStrategy = new MdNulThatUnitStrategy();

            sentence = mdNulThatUnitStrategy.ShuffleSentence(sentence);

            var ddlUnitStrategy = new DdlUnitStrategy();

            sentence = ddlUnitStrategy.ShuffleSentence(sentence);

            var pyYoUnitStrategy = new PyYoUnitStrategy();

            sentence = pyYoUnitStrategy.ShuffleSentence(sentence);

            var percentUnitStrategy = new PercentUnitStrategy();

            sentence = percentUnitStrategy.ShuffleSentence(sentence);

            Assert.That(sentence.Texts.Last().IsSentenceEnd);
        }
Beispiel #3
0
        public void When_EconomicGrowth_Sentence_Shuffled_provides_Correct_Output()
        {
            var sentence = new Sentence()
            {
                Texts = new List <Text>()
                {
                    new Text {
                        pe_tag = "ADJ", pe_text = "Economic", pe_order = 10
                    },
                    new Text {
                        pe_tag = "NN", pe_text = "growth", pe_order = 20
                    },
                    new Text {
                        pe_tag = "DYN9", pe_tag_revised = "VBA", pe_text = "has", pe_order = 30
                    },
                    new Text {
                        pe_tag = "PAST", pe_text = "continued", pe_order = 40
                    },
                    new Text {
                        pe_tag = "MD", pe_tag_revised = "MD1", pe_text = "at", pe_order = 50, pe_merge_ahead = 3
                    },
                    new Text {
                        pe_tag = "PREN", pe_text = "a", pe_order = 60, pe_merge_ahead = 2
                    },
                    new Text {
                        pe_tag = "ADJ", pe_text = "moderate", pe_order = 70
                    },
                    new Text {
                        pe_tag = "NN", pe_text = "rate", pe_order = 80
                    },
                    new Text {
                        pe_tag = "TM", pe_tag_revised = "TM1", pe_text = "so far", pe_order = 90
                    },
                    new Text {
                        pe_tag = "TM", pe_tag_revised = "TM2", pe_text = "this year", pe_order = 100
                    },
                    new Text {
                        pe_tag = "BKP", pe_text = " . ", pe_order = 110
                    },
                }
            };

            var adverbUnitStrategy = new AdverbUnitStrategy();

            sentence = adverbUnitStrategy.ShuffleSentence(sentence);

            var timerUnitStrategy = new TimerUnitStrategy();

            sentence = timerUnitStrategy.ShuffleSentence(sentence);


            Assert.That(sentence.Texts[0].pe_text, Is.EqualTo("Economic"));
            Assert.That(sentence.Texts[1].pe_text, Is.EqualTo("growth"));    //NN

            Assert.That(sentence.Texts[2].pe_text, Is.EqualTo("this year")); //TM
            Assert.That(sentence.Texts[3].pe_text, Is.EqualTo("so far"));
            Assert.That(sentence.Texts[4].pe_text, Is.EqualTo("has"));       //VBA
            Assert.That(sentence.Texts[5].pe_text, Is.EqualTo("continued")); //PAST
            Assert.That(sentence.Texts[6].pe_text, Is.EqualTo("at"));
            Assert.That(sentence.Texts[7].pe_text, Is.EqualTo("a"));
            Assert.That(sentence.Texts[8].pe_text, Is.EqualTo("moderate"));
            Assert.That(sentence.Texts[9].pe_text, Is.EqualTo("rate"));
            Assert.That(sentence.Texts[10].pe_text, Is.EqualTo(" . "));

            var mDUnitStrategy = new MdUnitStrategy();

            sentence = mDUnitStrategy.ShuffleSentence(sentence);

            Assert.That(sentence.Texts[0].pe_text, Is.EqualTo("Economic"));
            Assert.That(sentence.Texts[1].pe_text, Is.EqualTo("growth"));

            Assert.That(sentence.Texts[2].pe_text, Is.EqualTo("this year")); //TM 2 & 1
            Assert.That(sentence.Texts[3].pe_text, Is.EqualTo("so far"));

            Assert.That(sentence.Texts[4].pe_text, Is.EqualTo("has"));  //VBA

            Assert.That(sentence.Texts[5].pe_text, Is.EqualTo("at"));   //MD1
            Assert.That(sentence.Texts[6].pe_text, Is.EqualTo("a"));
            Assert.That(sentence.Texts[7].pe_text, Is.EqualTo("moderate"));
            Assert.That(sentence.Texts[8].pe_text, Is.EqualTo("rate"));

            Assert.That(sentence.Texts[9].pe_text, Is.EqualTo("continued")); //PAST
            Assert.That(sentence.Texts[10].pe_text, Is.EqualTo(" . "));

            var mdbkUnitStrategy = new MdbkUnitStrategy();

            sentence = mdbkUnitStrategy.ShuffleSentence(sentence);

            var mdNulThatUnitStrategy = new MdNulThatUnitStrategy();

            sentence = mdNulThatUnitStrategy.ShuffleSentence(sentence);

            var ddlUnitStrategy = new DdlUnitStrategy();

            sentence = ddlUnitStrategy.ShuffleSentence(sentence);

            var pyYoUnitStrategy = new PyYoUnitStrategy();

            sentence = pyYoUnitStrategy.ShuffleSentence(sentence);

            var percentUnitStrategy = new PercentUnitStrategy();

            sentence = percentUnitStrategy.ShuffleSentence(sentence);

            var clauserUnitStrategy = new ClauserUnitStrategy();

            sentence = clauserUnitStrategy.ShuffleSentence(sentence);

            Assert.That(sentence.Texts[0].pe_text, Is.EqualTo("Economic"));
            Assert.That(sentence.Texts[1].pe_text, Is.EqualTo("growth"));

            Assert.That(sentence.Texts[2].pe_text, Is.EqualTo("this year")); //TM 2 & 1
            Assert.That(sentence.Texts[3].pe_text, Is.EqualTo("so far"));

            Assert.That(sentence.Texts[4].pe_text, Is.EqualTo("has"));  //VBA

            Assert.That(sentence.Texts[5].pe_text, Is.EqualTo("at"));   //MD1
            Assert.That(sentence.Texts[6].pe_text, Is.EqualTo("a"));
            Assert.That(sentence.Texts[7].pe_text, Is.EqualTo("moderate"));
            Assert.That(sentence.Texts[8].pe_text, Is.EqualTo("rate"));

            Assert.That(sentence.Texts[9].pe_text, Is.EqualTo("continued")); //PAST
            Assert.That(sentence.Texts[10].pe_text, Is.EqualTo(" . "));
        }
Beispiel #4
0
        public void WhenPyJinxindePrenNNYo_AndNoMdBk_Move_PyJinxingdePrenNnAfterPyYo()
        {
            var sentence = new Sentence()
            {
                //Bef: PYjinxingde  PRENA NNsurvey PYyo PRENthe NNuniversity PASTfound that…
                Texts = new List <Text>()
                {
                    new Text()
                    {
                        pe_tag = "PY", pe_text = " jinxingde "
                    },
                    new Text()
                    {
                        pe_tag = "PREN", pe_text = " A "
                    },
                    new Text()
                    {
                        pe_tag = "NN", pe_text = " survey "
                    },

                    new Text()
                    {
                        pe_tag = "PY", pe_text = " yo "
                    },
                    new Text()
                    {
                        pe_tag = "PREN", pe_text = " the "
                    },
                    new Text()
                    {
                        pe_tag = "NN", pe_text = " university "
                    },

                    new Text()
                    {
                        pe_tag = "PAST", pe_text = " found "
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "that"
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "grades"
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "were"
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "good"
                    },
                    new Text()
                    {
                        pe_tag = "BKP", pe_text = " . "
                    }
                }
            };

            PyYoUnitStrategy pyYouUnitStrategy = new PyYoUnitStrategy();

            sentence = pyYouUnitStrategy.ShuffleSentence(sentence);

            //Aft: PYyo PRENthe NNuniversity PYjinxingde  PRENA NNsurvey PASTfound that…
            Assert.That(sentence.Texts[0].pe_text, Is.EqualTo(" yo "));         //PyYo
            Assert.That(sentence.Texts[1].pe_text, Is.EqualTo(" the "));        //PREN
            Assert.That(sentence.Texts[2].pe_text, Is.EqualTo(" university ")); //NN

            Assert.That(sentence.Texts[3].pe_text, Is.EqualTo(" jinxingde "));  //PY
            Assert.That(sentence.Texts[4].pe_text, Is.EqualTo(" A "));          // PREN
            Assert.That(sentence.Texts[5].pe_text, Is.EqualTo(" survey "));     // NN

            Assert.That(sentence.Texts[6].pe_text, Is.EqualTo(" found "));      //PAST
            Assert.That(sentence.Texts[7].pe_text, Is.EqualTo("that"));
            Assert.That(sentence.Texts[8].pe_text, Is.EqualTo("grades"));
            Assert.That(sentence.Texts[9].pe_text, Is.EqualTo("were"));
            Assert.That(sentence.Texts[10].pe_text, Is.EqualTo("good"));
            Assert.That(sentence.Texts[11].pe_text, Is.EqualTo(" . "));
        }
Beispiel #5
0
        public void WhenPydeNNPPastPyde_AndMdbk_MovePastAfterYoAndNNpAfterMdbk()
        {
            var sentence = new Sentence()
            {
                Texts = new List <Text>()
                {
                    //PYde NNPTests PASTconducted PYde PYyo PRENthe NNFederal Reserve MDBKof US banks PASTfound that…
                    new Text()
                    {
                        pe_tag = "PY", pe_text = "de"
                    },
                    new Text()
                    {
                        pe_tag = "NNP", pe_text = "Tests"
                    },
                    new Text()
                    {
                        pe_tag = "PAST", pe_text = "conducted"
                    },
                    new Text()
                    {
                        pe_tag = "PY", pe_text = "de"
                    },

                    new Text()
                    {
                        pe_tag = "PY", pe_text = "yo", pe_merge_ahead = 3
                    },
                    new Text()
                    {
                        pe_tag = "PREN", pe_text = "the"
                    },
                    new Text()
                    {
                        pe_tag = "NN", pe_text = "Federal"
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "Reserve"
                    },

                    new Text()
                    {
                        pe_tag = "MDBK", pe_text = "of", pe_merge_ahead = 2
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "US"
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "banks"
                    },
                    new Text()
                    {
                        pe_tag = "PAST", pe_text = "found"
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "that"
                    },
                    new Text()
                    {
                        pe_tag = "BKP", pe_text = " . "
                    }
                }
            };

            PyYoUnitStrategy pyYouUnitStrategy = new PyYoUnitStrategy();

            sentence = pyYouUnitStrategy.ShuffleSentence(sentence);

            //PYyo PRENthe NNFederal Reserve PASTconducted PYde MDBKof US banks PYde NNPTests PASTfound that
            Assert.That(sentence.Texts[0].pe_text, Is.EqualTo("yo"));
            Assert.That(sentence.Texts[1].pe_text, Is.EqualTo("the"));
            Assert.That(sentence.Texts[2].pe_text, Is.EqualTo("Federal"));
            Assert.That(sentence.Texts[3].pe_text, Is.EqualTo("Reserve"));

            Assert.That(sentence.Texts[4].pe_text, Is.EqualTo("conducted")); //PAST
            Assert.That(sentence.Texts[5].pe_text, Is.EqualTo("de"));        // PY

            Assert.That(sentence.Texts[6].pe_text, Is.EqualTo("of"));        //MDBK
            Assert.That(sentence.Texts[7].pe_text, Is.EqualTo("US"));
            Assert.That(sentence.Texts[8].pe_text, Is.EqualTo("banks"));

            Assert.That(sentence.Texts[9].pe_text, Is.EqualTo("de")); //PY
            Assert.That(sentence.Texts[10].pe_text, Is.EqualTo("Tests"));

            Assert.That(sentence.Texts[11].pe_text, Is.EqualTo("found")); //PAST
            Assert.That(sentence.Texts[12].pe_text, Is.EqualTo("that"));
            Assert.That(sentence.Texts[13].pe_text, Is.EqualTo(" . "));
        }
Beispiel #6
0
        public void  WhenPyJinxindePrenNNYo_AndMdBk_Move_PyJinxingdeAfterPyYoAndWhenPyJinxindePrenNNYo_AndNoMdBk_Move_PyJinxingdePrenNnAfterPyYoAfterMdbk()
        {
            var sentence = new Sentence()
            {
                Texts = new List <Text>()
                {
                    //Bef: PYjinxingde  PRENA NNsurvey PYyo PRENthe NNuniversity MDBKon students PASTfound that…

                    new Text()
                    {
                        pe_tag = "PY", pe_text = "jinxingde"
                    },                                                  //jxd pren nn
                    new Text()
                    {
                        pe_tag = "PREN", pe_text = " A "
                    },
                    new Text()
                    {
                        pe_tag = "NN", pe_text = "survey"
                    },
                    new Text()
                    {
                        pe_tag = "PY", pe_text = " yo "
                    },                                             //PyYo
                    new Text()
                    {
                        pe_tag = "PREN", pe_text = "the"
                    },
                    new Text()
                    {
                        pe_tag = "NN", pe_text = "university"
                    },
                    new Text()
                    {
                        pe_tag = "MDBK", pe_text = "on", pe_merge_ahead = 1
                    },                                                                  //Mdbk
                    new Text()
                    {
                        pe_tag = "", pe_text = "students"
                    },
                    new Text()
                    {
                        pe_tag = "PAST", pe_text = "found"
                    },                                                //end PyYo
                    new Text()
                    {
                        pe_tag = "", pe_text = "that"
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "its"
                    },
                    new Text()
                    {
                        pe_tag = "", pe_text = "fine"
                    },
                    new Text()
                    {
                        pe_tag = "BKP", pe_text = " . "
                    }
                }
            };

            PyYoUnitStrategy pyYouUnitStrategy = new PyYoUnitStrategy();

            sentence = pyYouUnitStrategy.ShuffleSentence(sentence);

            //Aft: PYyo PRENthe NNuniversity PYjinxingde  MDBKon students PRENA NNsurvey PASTfound that…
            Assert.That(sentence.Texts[0].pe_text, Is.EqualTo(" yo "));
            Assert.That(sentence.Texts[1].pe_text, Is.EqualTo("the"));
            Assert.That(sentence.Texts[2].pe_text, Is.EqualTo("university"));
            Assert.That(sentence.Texts[3].pe_text, Is.EqualTo("jinxingde"));
            Assert.That(sentence.Texts[4].pe_text, Is.EqualTo("on"));// mdbk
            Assert.That(sentence.Texts[5].pe_text, Is.EqualTo("students"));
            Assert.That(sentence.Texts[6].pe_text, Is.EqualTo(" A "));
            Assert.That(sentence.Texts[7].pe_text, Is.EqualTo("survey"));
            Assert.That(sentence.Texts[8].pe_text, Is.EqualTo("found"));
            Assert.That(sentence.Texts[9].pe_text, Is.EqualTo("that"));
            Assert.That(sentence.Texts[10].pe_text, Is.EqualTo("its"));
        }