public void When_PRES_Betwwen_By_And_NBKP_BKP_VB_VBA_PAST_Replace_With_fangfashi() { var sentence = new Sentence() { //They PASTimproved BKby PRESslowing down BKP. //They PASTimproved fangfashi PRESslowing down BKP. Texts = new List <Text>() { new Text() { pe_text = " They ", pe_tag = "NN", pe_tag_revised = "NULL" }, new Text() { pe_text = " improved ", pe_tag = "PAST", pe_tag_revised = "NULL" }, new Text() { pe_text = " by ", pe_tag = "BK", pe_tag_revised = "NULL" }, new Text() { pe_text = " slowing ", pe_tag = "DYN5", pe_tag_revised = "PRES" }, new Text() { pe_text = " down ", pe_tag = "ADV", pe_tag_revised = "ADV1" }, new Text() { pe_text = " . ", pe_tag = "BKP", pe_tag_revised = "NULL" } }, pe_para_no = 456 }; var bkByUnitStrategy = new BKByUnitStrategy(); var returnedSentence = bkByUnitStrategy.ShuffleSentence(sentence); Assert.That(returnedSentence.Texts[0].pe_text, Is.EqualTo(" They ")); Assert.That(returnedSentence.Texts[1].pe_text, Is.EqualTo(" improved ")); Assert.That(returnedSentence.Texts[2].pe_text_revised, Is.EqualTo(" fangfashi ")); Assert.That(returnedSentence.Texts[3].pe_text, Is.EqualTo(" slowing ")); Assert.That(returnedSentence.Texts[4].pe_text, Is.EqualTo(" down ")); Assert.That(returnedSentence.Texts[5].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.pe_para_no, Is.EqualTo(456)); }
public void When_No_BK_by_does_Not_Shuffle() { var sentence = new Sentence() { Texts = new List <Text>() { new Text() { pe_text = " They ", pe_tag = "NN", pe_tag_revised = "NULL" }, new Text() { pe_text = " improved ", pe_tag = "PAST", pe_tag_revised = "NULL" }, new Text() { pe_text = " through ", pe_tag = "NN", pe_tag_revised = "NULL" }, new Text() { pe_text = " slowing ", pe_tag = "DYN5", pe_tag_revised = "NN" }, new Text() { pe_text = " down ", pe_tag = "ADV", pe_tag_revised = "ADV1" }, new Text() { pe_text = " . ", pe_tag = "BKP", pe_tag_revised = "" } }, pe_para_no = 456 }; var byUnitStrategy = new BKByUnitStrategy(); var returnedSentence = byUnitStrategy.ShuffleSentence(sentence); Assert.That(returnedSentence.Texts[0].pe_text, Is.EqualTo(" They ")); Assert.That(returnedSentence.Texts[1].pe_text, Is.EqualTo(" improved ")); Assert.That(returnedSentence.Texts[2].pe_text, Is.EqualTo(" through ")); Assert.That(returnedSentence.Texts[3].pe_text, Is.EqualTo(" slowing ")); Assert.That(returnedSentence.Texts[4].pe_text, Is.EqualTo(" down ")); Assert.That(returnedSentence.Texts[5].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.pe_para_no, Is.EqualTo(456)); Assert.That(returnedSentence.Sentence_No, Is.EqualTo(1)); Assert.That(returnedSentence.Sentence_Option_Selected, Is.EqualTo(1)); }
public void MassiveSentenceWithMDUnits() { var sentence = new Sentence() { Texts = new List <Text>() { new Text() { pe_tag_revised = "", pe_text = " In addition " }, new Text() { pe_tag_revised = "BKP", pe_text = " , " }, new Text() { pe_tag_revised = "", pe_text = " the federal reserve " }, new Text() { pe_tag_revised = "", pe_text = " has been " }, new Text() { pe_tag_revised = "PRES", pe_text = " conducting " }, new Text() { pe_tag_revised = "PREN1", pe_text = "a" }, new Text() { pe_tag_revised = "NN", pe_text = "program" }, new Text() { pe_tag_revised = "BKP", pe_text = " , " }, new Text() { pe_tag_revised = "TM1", pe_text = " last september " }, new Text() { pe_tag_revised = "BKP", pe_text = " , " }, new Text() { pe_tag_revised = "MD1", pe_text = " to " }, new Text() { pe_tag_revised = "VB", pe_text = "lengthen" }, new Text() { pe_tag_revised = "PREN1", pe_text = "the" }, new Text() { pe_tag_revised = "NN", pe_text = "average" }, new Text() { pe_tag_revised = "NN", pe_text = "maturity" }, new Text() { pe_tag_revised = "MD1", pe_text = " of " }, new Text() { pe_tag_revised = "PREN2", pe_text = " its " }, new Text() { pe_tag_revised = "NN", pe_text = " securities " }, new Text() { pe_tag_revised = "NN", pe_text = " holdings " }, new Text() { pe_tag_revised = "BK", pe_text = " by " }, new Text() { pe_tag_revised = "", pe_text = "purchasing" }, new Text() { pe_tag_revised = "CURR", pe_text = "$" }, new Text() { pe_tag_revised = "NN", pe_text = "400" }, new Text() { pe_tag_revised = "", pe_text = "billion" }, new Text() { pe_tag_revised = "MD1", pe_text = " of " }, new Text() { pe_tag_revised = "", pe_text = " longer-term " }, new Text() { pe_tag_revised = "NN", pe_text = " treasury securities " }, new Text() { pe_tag_revised = "BK", pe_text = "and" }, new Text() { pe_tag_revised = "PRES", pe_text = "selling" }, new Text() { pe_tag_revised = "NN", pe_text = " an equal amount " }, new Text() { pe_tag_revised = "MD1", pe_text = " of " }, new Text() { pe_tag_revised = "", pe_text = " shorter-term " }, new Text() { pe_tag_revised = "NN", pe_text = " treasury securities " }, new Text() { pe_tag_revised = "PAST", pe_text = "announced" }, new Text() { pe_tag_revised = "BKP", pe_text = " , " }, new Text() { pe_tag_revised = "MD1", pe_text = " to " }, new Text() { pe_tag_revised = "VB", pe_text = "lengthen" }, new Text() { pe_tag_revised = "PREN1", pe_text = "the" }, new Text() { pe_tag_revised = "NN", pe_text = "average" }, new Text() { pe_tag_revised = "", pe_text = "maturity" }, new Text() { pe_tag_revised = "MD1", pe_text = " of " }, new Text() { pe_tag_revised = "PREN2", pe_text = "its" }, new Text() { pe_tag_revised = "", pe_text = "securities" }, new Text() { pe_tag_revised = "", pe_text = "holdings" }, new Text() { pe_tag_revised = "BK", pe_text = " by " }, new Text() { pe_tag_revised = "ADJ", pe_text = "purchasing" }, new Text() { pe_tag_revised = "CURR", pe_text = "" }, new Text() { pe_tag_revised = "", pe_text = "$" }, new Text() { pe_tag_revised = "", pe_text = "400" }, new Text() { pe_tag_revised = "NN", pe_text = "billion" }, new Text() { pe_tag_revised = "MD1", pe_text = " of " }, new Text() { pe_tag_revised = "", pe_text = " longer-term " }, new Text() { pe_tag_revised = "", pe_text = " treasury securities " }, new Text() { pe_tag_revised = "BK", pe_text = "and" }, new Text() { pe_tag_revised = "PRES", pe_text = "selling" }, new Text() { pe_tag_revised = "", pe_text = "an equal amount" }, new Text() { pe_tag_revised = "MD1", pe_text = " of " }, new Text() { pe_tag_revised = "", pe_text = " shorter-term " }, new Text() { pe_tag_revised = "NN", pe_text = " treasury securities " }, new Text() { pe_tag_revised = "BKP", pe_text = " . " } } }; BKByUnitStrategy bkByUnitStrategy = new BKByUnitStrategy(); BKByMDBKStrategy bkbyMdbkStrategy = new BKByMDBKStrategy(); var returnedSentence = bkbyMdbkStrategy.ShuffleSentence(bkByUnitStrategy.ShuffleSentence(sentence)); Assert.That(returnedSentence.Texts[0].pe_text, Is.EqualTo(" In addition ")); }
public void Shuffles_MDUnits_BeforeAndAfterMDBK() { var sentence = new Sentence() { Texts = new List <Text>() { new Text() { pe_tag = "PREN", pe_text = " An ", pe_tag_revised = "PREN1", pe_order = 10 }, new Text() { pe_tag = "NULL", pe_text = " investigation ", pe_tag_revised = "NN", pe_order = 20 }, new Text() { pe_tag = "PAST", pe_text = " conducted ", pe_tag_revised = "NULL", pe_order = 30 }, new Text() { pe_tag = "BK", pe_text = " by ", pe_tag_revised = "NULL", pe_order = 40 }, new Text() { pe_tag = "PREN", pe_text = " an ", pe_tag_revised = "PREN2", pe_order = 50 }, new Text() { pe_tag = "NN", pe_text = " expert ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD1" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN3" }, new Text() { pe_tag = "NN", pe_text = " bank ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD2" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN4" }, new Text() { pe_tag = "NN", pe_text = " company ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " into ", pe_tag_revised = "MD3" }, //MDBK new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN5" }, new Text() { pe_tag = "TEST", pe_text = " operations ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD4" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN6" }, new Text() { pe_tag = "NN", pe_text = " department ", pe_tag_revised = "NN6" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD5" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN7" }, new Text() { pe_tag = "NN", pe_text = " company ", pe_tag_revised = "NN5" }, new Text() { pe_tag = "DYN7", pe_text = " was ", pe_tag_revised = "VBA" }, new Text() { pe_tag = "PAST", pe_text = " completed ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "BKP", pe_text = " . ", pe_tag_revised = "NULL" } }, pe_para_no = 123 }; BKByUnitStrategy bkByUnitStrategy = new BKByUnitStrategy(); var sentenceShuffledByBKByStrategy = bkByUnitStrategy.ShuffleSentence(sentence); BKByMDBKStrategy bkbyMdbkStrategy = new BKByMDBKStrategy(); var returnedSentence = bkbyMdbkStrategy.ShuffleSentence(sentenceShuffledByBKByStrategy); /* * Before * * PREN1An de NN1investigation PASTconducted de * BKby PREN2an * NN2expert * MD2of the company MD1of PREN3the NN3bank * MDBKinto PREN4the operations * MD5of PREN6the NN6company MD4of PREN5the NN5department * VBAwas PASTcompleted BKP. * * 5.3. Move the shuffled MD units before MDBK to before the first NN after ‘BKby’ and then - * 5.4. Move the shuffled MD units after MDBK to immediately after the MDBK word (it’s ‘into’ in the example here) * After * * PREN1An de NN1investigation PASTconducted de * BKby PREN2an * MD2of the company MD1of PREN3the NN3bank * NN2expert * MDBKinto * MD5of PREN6the NN6company MD4of PREN5the NN5department * PREN4the operations VBAwas PASTcompleted BKP. * * 5.5. Move PAST + de unit to before the MDBK unit * After * * PREN1An de NN1investigation * BKby PREN2an * MD2of the company MD1of PREN3the NN3bank NN2expert * PASTconducted de * MDBKinto * MD5of PREN6the NN6company MD4of PREN5the NN5department * PREN4the operations VBAwas PASTcompleted BKP. * * 5.6. Move de + NN1 unit to after MDBK unit or the last MD unit after MDBK * if there are any such MD units after MDBK. * After * * PREN1An * BKby PREN2an * MD2of the company MD1of PREN3the NN3bank NN2expert * PASTconducted de * MDBKinto * MD5of PREN6the NN6company MD4of PREN5the NN5department PREN4the operations * de NN1investigation * VBAwas PASTcompleted BKP. * * * 5.7. Delete the MDs (both tags and words) and replace MDBK * (both tag and word) with ‘youguan’ * After * * PREN1An * BKby PREN2an * the company PREN3the NN3bank NN2expert * PASTconducted de * youguan * PREN6the NN6company PREN5the NN5department PREN4the operations * de NN1investigation * VBAwas PASTcompleted BKP. * */ Assert.That(returnedSentence.Texts[0].pe_text, Is.EqualTo(" An ")); Assert.That(returnedSentence.Texts[1].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[2].pe_text, Is.EqualTo(" an ")); //MD Unit Assert.That(returnedSentence.Texts[3].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[4].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[5].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[6].pe_text, Is.EqualTo(" bank ")); // NN Assert.That(returnedSentence.Texts[7].pe_text, Is.EqualTo(" expert ")); //PAST + de Assert.That(returnedSentence.Texts[8].pe_text, Is.EqualTo(" conducted ")); Assert.That(returnedSentence.Texts[9].pe_text_revised, Is.EqualTo(" de ")); //MDBK Assert.That(returnedSentence.Texts[10].pe_text, Is.EqualTo(" into ")); Assert.That(returnedSentence.Texts[10].pe_text_revised, Is.EqualTo(" youguan ")); Assert.That(returnedSentence.Texts[10].pe_tag_revised_by_Shuffler, Is.EqualTo("youguan")); //MD Unit Assert.That(returnedSentence.Texts[11].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[12].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[13].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[14].pe_text, Is.EqualTo(" department ")); Assert.That(returnedSentence.Texts[15].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[16].pe_text, Is.EqualTo(" operations ")); Assert.That(returnedSentence.Texts[17].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[18].pe_text, Is.EqualTo(" investigation ")); Assert.That(returnedSentence.Texts[19].pe_text, Is.EqualTo(" was ")); Assert.That(returnedSentence.Texts[20].pe_text, Is.EqualTo(" completed ")); Assert.That(returnedSentence.Texts[21].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.pe_para_no, Is.EqualTo(123)); Assert.That(returnedSentence.SentenceHasMultipleOptions, Is.EqualTo(false)); }
public void Shuffles_MDUnits_That_are_All_Of_And_Produces_Options() { /* * Before * * PRENAn de NN1investigation PASTconducted de * BKby * PRENan NN2expert * MD1of PRENthe NN3bank MD2of PRENthe NN4company * MD3of PRENthe NN5operations MD4of DIGtwo NN6departments MD5of PRENthe NN7company * VBAwas PASTcompleted BKP. * * After * * PRENAn * BKby PRENan NN2expert PASTconducted de * youguan * PRENthe NN3bank PRENthe NN7company MD4of DIGtwo NN6departments PRENthe NN5operations PRENthe NN4company * de NN1iknvestigation * VBAwas PASTcompleted BKP. */ var sentence = new Sentence() { Texts = new List <Text>() { new Text() { pe_tag_revised = "PREN", pe_text = " An " }, new Text() { pe_tag_revised = "NN", pe_text = " investigation " }, new Text() { pe_tag_revised = "PAST", pe_text = " conducted " }, new Text() { pe_tag_revised = "BK", pe_text = " by " }, new Text() { pe_tag_revised = "PREN", pe_text = " an " }, new Text() { pe_tag_revised = "NN", pe_text = " expert " }, new Text() { pe_tag_revised = "MD1", pe_text = " of " }, new Text() { pe_tag_revised = "PREN", pe_text = " the " }, new Text() { pe_tag_revised = "NN", pe_text = " bank " }, new Text() { pe_tag_revised = "MD2", pe_text = " of " }, new Text() { pe_tag_revised = "PREN", pe_text = " the " }, new Text() { pe_tag_revised = "NN", pe_text = " company " }, new Text() { pe_tag_revised = "MD3", pe_text = " of " }, new Text() { pe_tag_revised = "PREN", pe_text = " the " }, new Text() { pe_tag_revised = "NN", pe_text = " operations " }, new Text() { pe_tag_revised = "MD4", pe_text = " of " }, new Text() { pe_tag_revised = "DIG", pe_text = " two " }, new Text() { pe_tag_revised = "NN", pe_text = " departments " }, new Text() { pe_tag_revised = "MD5", pe_text = " of " }, new Text() { pe_tag_revised = "PREN", pe_text = " the " }, new Text() { pe_tag_revised = "NN", pe_text = " company " }, new Text() { pe_tag_revised = "VBA", pe_text = " was " }, new Text() { pe_tag_revised = "PAST", pe_text = " completed " }, new Text() { pe_tag_revised = "BKP", pe_text = " . " } } }; BKByUnitStrategy bkByUnitStrategy = new BKByUnitStrategy(); BKByMDBKStrategy bkbyMdbkStrategy = new BKByMDBKStrategy(); var returnedSentence = bkByUnitStrategy.ShuffleSentence(sentence); returnedSentence = bkbyMdbkStrategy.ShuffleSentence(returnedSentence); /* * PRENAn * BKby PRENan NN2expert PASTconducted de * youguan * PRENthe NN3bank PRENthe NN7company MD4of DIGtwo NN6departments PRENthe NN5operations PRENthe NN4company * de NN1iknvestigation * VBAwas PASTcompleted BKP. * * Move de + NN1 unit to after MDBK unit or the last MD unit after MDBK if there are any such MD units after MDBK. * * Move PAST + de to before youguan * * DELETE MDs except youguan * */ Assert.That(returnedSentence.Texts[0].Sentence_Option, Is.EqualTo(1)); Assert.That(returnedSentence.Texts[0].pe_text, Is.EqualTo(" An ")); Assert.That(returnedSentence.Texts[1].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[2].pe_text, Is.EqualTo(" an ")); Assert.That(returnedSentence.Texts[3].pe_text, Is.EqualTo(" expert ")); Assert.That(returnedSentence.Texts[4].pe_text, Is.EqualTo(" conducted ")); Assert.That(returnedSentence.Texts[5].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[6].pe_tag_revised_by_Shuffler, Is.EqualTo("youguan")); Assert.That(returnedSentence.Texts[6].pe_text_revised, Is.EqualTo(" youguan ")); Assert.That(returnedSentence.Texts[7].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[8].pe_text, Is.EqualTo(" bank ")); Assert.That(returnedSentence.Texts[9].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[10].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[11].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[12].pe_text, Is.EqualTo(" operations ")); Assert.That(returnedSentence.Texts[13].pe_text, Is.EqualTo(" two ")); Assert.That(returnedSentence.Texts[14].pe_text, Is.EqualTo(" departments ")); Assert.That(returnedSentence.Texts[15].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[16].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[17].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[18].pe_text, Is.EqualTo(" investigation ")); Assert.That(returnedSentence.Texts[19].pe_text, Is.EqualTo(" was ")); Assert.That(returnedSentence.Texts[20].pe_text, Is.EqualTo(" completed ")); Assert.That(returnedSentence.Texts[20].Sentence_Option, Is.EqualTo(1)); Assert.That(returnedSentence.Texts[21].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.Texts[22].Sentence_Option, Is.EqualTo(2)); Assert.That(returnedSentence.Texts[22].pe_text, Is.EqualTo(" An ")); Assert.That(returnedSentence.Texts[23].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[24].pe_text, Is.EqualTo(" an ")); Assert.That(returnedSentence.Texts[25].pe_text, Is.EqualTo(" expert ")); Assert.That(returnedSentence.Texts[26].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[27].pe_text, Is.EqualTo(" bank ")); Assert.That(returnedSentence.Texts[28].pe_text, Is.EqualTo(" conducted ")); Assert.That(returnedSentence.Texts[29].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[30].pe_tag_revised_by_Shuffler, Is.EqualTo("youguan")); Assert.That(returnedSentence.Texts[30].pe_text_revised, Is.EqualTo(" youguan ")); Assert.That(returnedSentence.Texts[31].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[32].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[33].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[34].pe_text, Is.EqualTo(" operations ")); Assert.That(returnedSentence.Texts[35].pe_text, Is.EqualTo(" two ")); Assert.That(returnedSentence.Texts[36].pe_text, Is.EqualTo(" departments ")); Assert.That(returnedSentence.Texts[37].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[38].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[39].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[40].pe_text, Is.EqualTo(" investigation ")); Assert.That(returnedSentence.Texts[41].pe_text, Is.EqualTo(" was ")); Assert.That(returnedSentence.Texts[42].pe_text, Is.EqualTo(" completed ")); Assert.That(returnedSentence.Texts[43].Sentence_Option, Is.EqualTo(2)); Assert.That(returnedSentence.Texts[43].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.Texts[44].Sentence_Option, Is.EqualTo(3)); Assert.That(returnedSentence.Texts[44].pe_text, Is.EqualTo(" An ")); Assert.That(returnedSentence.Texts[45].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[46].pe_text, Is.EqualTo(" an ")); Assert.That(returnedSentence.Texts[47].pe_text, Is.EqualTo(" expert ")); Assert.That(returnedSentence.Texts[48].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[49].pe_text, Is.EqualTo(" bank ")); Assert.That(returnedSentence.Texts[50].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[51].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[52].pe_text, Is.EqualTo(" conducted ")); Assert.That(returnedSentence.Texts[53].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[54].pe_tag_revised_by_Shuffler, Is.EqualTo("youguan")); Assert.That(returnedSentence.Texts[54].pe_text_revised, Is.EqualTo(" youguan ")); Assert.That(returnedSentence.Texts[55].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[56].pe_text, Is.EqualTo(" operations ")); Assert.That(returnedSentence.Texts[57].pe_text, Is.EqualTo(" two ")); Assert.That(returnedSentence.Texts[58].pe_text, Is.EqualTo(" departments ")); Assert.That(returnedSentence.Texts[59].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[60].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[61].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[62].pe_text, Is.EqualTo(" investigation ")); Assert.That(returnedSentence.Texts[63].pe_text, Is.EqualTo(" was ")); Assert.That(returnedSentence.Texts[64].pe_text, Is.EqualTo(" completed ")); Assert.That(returnedSentence.Texts[65].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.Texts[66].Sentence_Option, Is.EqualTo(4)); Assert.That(returnedSentence.Texts[66].pe_text, Is.EqualTo(" An ")); Assert.That(returnedSentence.Texts[67].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[68].pe_text, Is.EqualTo(" an ")); Assert.That(returnedSentence.Texts[69].pe_text, Is.EqualTo(" expert ")); Assert.That(returnedSentence.Texts[70].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[71].pe_text, Is.EqualTo(" bank ")); Assert.That(returnedSentence.Texts[72].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[73].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[74].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[75].pe_text, Is.EqualTo(" operations ")); Assert.That(returnedSentence.Texts[76].pe_text, Is.EqualTo(" conducted ")); Assert.That(returnedSentence.Texts[77].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[78].pe_tag_revised_by_Shuffler, Is.EqualTo("youguan")); Assert.That(returnedSentence.Texts[78].pe_text_revised, Is.EqualTo(" youguan ")); Assert.That(returnedSentence.Texts[79].pe_text, Is.EqualTo(" two ")); Assert.That(returnedSentence.Texts[80].pe_text, Is.EqualTo(" departments ")); Assert.That(returnedSentence.Texts[81].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[82].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[83].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[84].pe_text, Is.EqualTo(" investigation ")); Assert.That(returnedSentence.Texts[85].pe_text, Is.EqualTo(" was ")); Assert.That(returnedSentence.Texts[86].pe_text, Is.EqualTo(" completed ")); Assert.That(returnedSentence.Texts[87].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.Texts[88].Sentence_Option, Is.EqualTo(5)); Assert.That(returnedSentence.Texts[88].pe_text, Is.EqualTo(" An ")); Assert.That(returnedSentence.Texts[89].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[90].pe_text, Is.EqualTo(" an ")); Assert.That(returnedSentence.Texts[91].pe_text, Is.EqualTo(" expert ")); Assert.That(returnedSentence.Texts[92].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[93].pe_text, Is.EqualTo(" bank ")); Assert.That(returnedSentence.Texts[94].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[95].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[96].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[97].pe_text, Is.EqualTo(" operations ")); Assert.That(returnedSentence.Texts[98].pe_text, Is.EqualTo(" two ")); Assert.That(returnedSentence.Texts[99].pe_text, Is.EqualTo(" departments ")); Assert.That(returnedSentence.Texts[100].pe_text, Is.EqualTo(" conducted ")); Assert.That(returnedSentence.Texts[101].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[102].pe_tag_revised_by_Shuffler, Is.EqualTo("youguan")); Assert.That(returnedSentence.Texts[102].pe_text_revised, Is.EqualTo(" youguan ")); Assert.That(returnedSentence.Texts[103].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[104].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[105].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[106].pe_text, Is.EqualTo(" investigation ")); Assert.That(returnedSentence.Texts[107].pe_text, Is.EqualTo(" was ")); Assert.That(returnedSentence.Texts[108].pe_text, Is.EqualTo(" completed ")); Assert.That(returnedSentence.Texts[109].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.SentenceHasMultipleOptions, Is.EqualTo(true)); }
public void When_All_MD_Units_After_BkBy_Are_Of_Replace_All_With_MDBK() { var sentence = new Sentence() { Texts = new List <Text>() { new Text() { pe_text = "And", pe_tag = "" }, new Text() { pe_text = " by ", pe_tag = "BK" }, new Text() { pe_text = "then", pe_tag = "" }, new Text() { pe_text = "three", pe_tag = "" }, new Text() { pe_text = " of ", pe_tag = "MD1" }, new Text() { pe_text = "the", pe_tag = "" }, new Text() { pe_text = "people", pe_tag = "" }, new Text() { pe_text = " of ", pe_tag = "MD2" }, new Text() { pe_text = "the", pe_tag = "" }, new Text() { pe_text = "house", pe_tag = "" }, new Text() { pe_text = " of ", pe_tag = "MD3" }, new Text() { pe_text = "commons", pe_tag = "" }, new Text() { pe_text = "complained", pe_tag = "PAST" }, new Text() { pe_text = " . ", pe_tag = "BKP" }, } }; var bkByUnitStrategy = new BKByUnitStrategy(); var returnedSentence = bkByUnitStrategy.ShuffleSentence(sentence); Assert.That(returnedSentence.Texts[0].pe_text, Is.EqualTo("And")); Assert.That(returnedSentence.Texts[1].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[2].pe_text, Is.EqualTo("then")); Assert.That(returnedSentence.Texts[3].pe_text, Is.EqualTo("three")); Assert.That(returnedSentence.Texts[4].pe_text, Is.EqualTo(" of ")); //MD1 Assert.That(returnedSentence.Texts[4].pe_tag_revised_by_Shuffler, Is.EqualTo("MDBK")); Assert.That(returnedSentence.Texts[5].pe_text, Is.EqualTo("the")); Assert.That(returnedSentence.Texts[6].pe_text, Is.EqualTo("people")); Assert.That(returnedSentence.Texts[7].pe_text, Is.EqualTo(" of ")); //MD2 Assert.That(returnedSentence.Texts[7].pe_tag_revised_by_Shuffler, Is.EqualTo("MDBK")); Assert.That(returnedSentence.Texts[8].pe_text, Is.EqualTo("the")); Assert.That(returnedSentence.Texts[9].pe_text, Is.EqualTo("house")); Assert.That(returnedSentence.Texts[10].pe_text, Is.EqualTo(" of ")); //MD3 Assert.That(returnedSentence.Texts[10].pe_tag_revised_by_Shuffler, Is.EqualTo("MDBK")); Assert.That(returnedSentence.Texts[11].pe_text, Is.EqualTo("commons")); Assert.That(returnedSentence.Texts[12].pe_text, Is.EqualTo("complained")); Assert.That(returnedSentence.Texts[13].pe_text, Is.EqualTo(" . ")); }
public void When_MBKY_Then_MD_Units_Before_And_After_Are_Shuffled() { var sentence = new Sentence() { Texts = new List <Text>() { new Text() { pe_tag = "PREN", pe_text = " An ", pe_tag_revised = "PREN1", pe_order = 10 }, new Text() { pe_tag = "NULL", pe_text = " investigation ", pe_tag_revised = "NN", pe_order = 20 }, new Text() { pe_tag = "PAST", pe_text = " conducted ", pe_tag_revised = "NULL", pe_order = 30 }, new Text() { pe_tag = "BK", pe_text = " by ", pe_tag_revised = "NULL", pe_order = 40 }, new Text() { pe_tag = "PREN", pe_text = " an ", pe_tag_revised = "PREN2", pe_order = 50 }, new Text() { pe_tag = "NN", pe_text = " expert ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD1" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN3" }, new Text() { pe_tag = "NN", pe_text = " bank ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD2" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN4" }, new Text() { pe_tag = "NN", pe_text = " company ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " into ", pe_tag_revised = "MD3" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN5" }, new Text() { pe_tag = "TEST", pe_text = " operations ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD4" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN6" }, new Text() { pe_tag = "NN", pe_text = " department ", pe_tag_revised = "NN6" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD5" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN7" }, new Text() { pe_tag = "NN", pe_text = " company ", pe_tag_revised = "NN5" }, new Text() { pe_tag = "DYN7", pe_text = " was ", pe_tag_revised = "VBA" }, new Text() { pe_tag = "PAST", pe_text = " completed ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "BKP", pe_text = " . ", pe_tag_revised = "NULL" } } }; BKByUnitStrategy bkByUnitStrategy = new BKByUnitStrategy(); var returnedSentence = bkByUnitStrategy.ShuffleSentence(sentence); Assert.That(returnedSentence.Texts[0].pe_text, Is.EqualTo(" An ")); Assert.That(returnedSentence.Texts[1].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[1].pe_order, Is.EqualTo(15)); Assert.That(returnedSentence.Texts[1].pe_merge_ahead, Is.EqualTo(1)); Assert.That(returnedSentence.Texts[2].pe_text, Is.EqualTo(" investigation ")); Assert.That(returnedSentence.Texts[2].pe_order, Is.EqualTo(20)); Assert.That(returnedSentence.Texts[3].pe_text, Is.EqualTo(" conducted ")); Assert.That(returnedSentence.Texts[3].pe_merge_ahead, Is.EqualTo(1)); Assert.That(returnedSentence.Texts[3].pe_order, Is.EqualTo(30)); Assert.That(returnedSentence.Texts[4].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[4].pe_order, Is.EqualTo(35)); Assert.That(returnedSentence.Texts[5].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[6].pe_text, Is.EqualTo(" an ")); Assert.That(returnedSentence.Texts[7].pe_text, Is.EqualTo(" expert ")); Assert.That(returnedSentence.Texts[8].pe_tag_revised, Is.EqualTo("MD2")); Assert.That(returnedSentence.Texts[8].pe_text, Is.EqualTo(" of ")); Assert.That(returnedSentence.Texts[9].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[10].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[11].pe_tag_revised, Is.EqualTo("MD1")); Assert.That(returnedSentence.Texts[11].pe_text, Is.EqualTo(" of ")); Assert.That(returnedSentence.Texts[12].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[13].pe_text, Is.EqualTo(" bank ")); Assert.That(returnedSentence.Texts[14].pe_text, Is.EqualTo(" into ")); Assert.That(returnedSentence.Texts[14].pe_tag_revised_by_Shuffler, Is.EqualTo("MDBK")); Assert.That(returnedSentence.Texts[15].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[16].pe_text, Is.EqualTo(" operations ")); Assert.That(returnedSentence.Texts[17].pe_tag_revised, Is.EqualTo("MD5")); Assert.That(returnedSentence.Texts[17].pe_text, Is.EqualTo(" of ")); Assert.That(returnedSentence.Texts[18].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[19].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[20].pe_tag_revised, Is.EqualTo("MD4")); Assert.That(returnedSentence.Texts[20].pe_text, Is.EqualTo(" of ")); Assert.That(returnedSentence.Texts[21].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[22].pe_text, Is.EqualTo(" department ")); Assert.That(returnedSentence.Texts[23].pe_text, Is.EqualTo(" was ")); Assert.That(returnedSentence.Texts[24].pe_text, Is.EqualTo(" completed ")); Assert.That(returnedSentence.Texts[25].pe_text, Is.EqualTo(" . ")); }
public void When_NN_Between_By_And_NBKP_BKP_VB_VBA_PAST_And_BY_preceeded_by_PAST_Add_de_before_NN_and_after_PAST() { //3.If instead, NN is found, search left for PAST until reaching NN.If found – //3.1.Add ‘de’ to before NN1 and underline ‘de’ together with NN1 to form one unit //3.2.Add ‘de’ to after PAST and underline ‘de’ together with PAST to form one unit /* * * Before * * PREN1An NN1investigation PASTconducted BKby PREN2an NN2expert MD1of PREN3the NN3bank * MD2of PREN4the NN4company MD3into NN5mal-practice VBAwas PASTcompleted BKP. * * After * * PREN1An de NN1investigation PASTconducted de BKby PREN2an NN2expert MD1of PREN3the * NN3bank MD2of PREN4the NN4company MD3into NN5mal - practice VBAwas PASTcompleted BKP. * */ var sentence = new Sentence() { Texts = new List <Text>() { new Text() { pe_tag = "PREN", pe_text = " An ", pe_tag_revised = "PREN1", pe_order = 10 }, new Text() { pe_tag = "NULL", pe_text = " investigation ", pe_tag_revised = "NN", pe_order = 20 }, new Text() { pe_tag = "PAST", pe_text = " conducted ", pe_tag_revised = "NULL", pe_order = 30 }, new Text() { pe_tag = "BK", pe_text = " by ", pe_tag_revised = "NULL", pe_order = 40 }, new Text() { pe_tag = "PREN", pe_text = " an ", pe_tag_revised = "PREN2", pe_order = 50 }, new Text() { pe_tag = "NN", pe_text = " expert ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD1" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN3" }, new Text() { pe_tag = "NN", pe_text = " bank ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " of ", pe_tag_revised = "MD2" }, new Text() { pe_tag = "PREN", pe_text = " the ", pe_tag_revised = "PREN4" }, new Text() { pe_tag = "NN", pe_text = " company ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "MD", pe_text = " into ", pe_tag_revised = "MD3" }, new Text() { pe_tag = "NN", pe_text = " mal-practice ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "DYN7", pe_text = " was ", pe_tag_revised = "VB" }, new Text() { pe_tag = "PAST", pe_text = " completed ", pe_tag_revised = "NULL" }, new Text() { pe_tag = "BKP", pe_text = " . ", pe_tag_revised = "NULL" } }, pe_para_no = 123 }; var bkByUnitStrategy = new BKByUnitStrategy(); var returnedSentence = bkByUnitStrategy.ShuffleSentence(sentence); Assert.That(returnedSentence.Texts[0].pe_text, Is.EqualTo(" An ")); Assert.That(returnedSentence.Texts[1].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[1].pe_order, Is.EqualTo(15)); Assert.That(returnedSentence.Texts[1].pe_merge_ahead, Is.EqualTo(1)); Assert.That(returnedSentence.Texts[2].pe_text, Is.EqualTo(" investigation ")); Assert.That(returnedSentence.Texts[2].pe_order, Is.EqualTo(20)); Assert.That(returnedSentence.Texts[3].pe_text, Is.EqualTo(" conducted ")); Assert.That(returnedSentence.Texts[3].pe_merge_ahead, Is.EqualTo(1)); Assert.That(returnedSentence.Texts[3].pe_order, Is.EqualTo(30)); Assert.That(returnedSentence.Texts[4].pe_text_revised, Is.EqualTo(" de ")); Assert.That(returnedSentence.Texts[4].pe_order, Is.EqualTo(35)); Assert.That(returnedSentence.Texts[5].pe_text, Is.EqualTo(" by ")); Assert.That(returnedSentence.Texts[6].pe_text, Is.EqualTo(" an ")); Assert.That(returnedSentence.Texts[7].pe_text, Is.EqualTo(" expert ")); Assert.That(returnedSentence.Texts[8].pe_text, Is.EqualTo(" of ")); Assert.That(returnedSentence.Texts[9].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[10].pe_text, Is.EqualTo(" company ")); Assert.That(returnedSentence.Texts[11].pe_text, Is.EqualTo(" of ")); Assert.That(returnedSentence.Texts[12].pe_text, Is.EqualTo(" the ")); Assert.That(returnedSentence.Texts[13].pe_text, Is.EqualTo(" bank ")); Assert.That(returnedSentence.Texts[14].pe_text, Is.EqualTo(" into ")); Assert.That(returnedSentence.Texts[14].pe_tag_revised_by_Shuffler, Is.EqualTo("MDBK")); Assert.That(returnedSentence.Texts[15].pe_text, Is.EqualTo(" mal-practice ")); Assert.That(returnedSentence.Texts[16].pe_text, Is.EqualTo(" was ")); Assert.That(returnedSentence.Texts[17].pe_text, Is.EqualTo(" completed ")); Assert.That(returnedSentence.Texts[18].pe_text, Is.EqualTo(" . ")); Assert.That(returnedSentence.pe_para_no, Is.EqualTo(123)); }