public virtual void stringIndefiniteArticleInflectionVowelTest() { SPhraseSpec senSpec = phraseFactory.createClause(); senSpec.addComplement(phraseFactory.createStringElement("I see a")); NPPhraseSpec firstNoun = phraseFactory.createNounPhrase("elephant"); senSpec.addComplement(firstNoun); DocumentElement completeSen = phraseFactory.createSentence(); completeSen.addComponent(senSpec); Assert.AreEqual("I see an elephant.", realiser.realise(completeSen).Realisation); }
public virtual void stringIndefiniteArticleInflectionConsonantTest() { SPhraseSpec senSpec = phraseFactory.createClause(); senSpec.addComplement(phraseFactory.createStringElement("I see an")); NPPhraseSpec firstNoun = phraseFactory.createNounPhrase("cow"); senSpec.addComplement(firstNoun); DocumentElement completeSen = phraseFactory.createSentence(); completeSen.addComponent(senSpec); // Do not attempt "an" -> "a" Assert.AreNotSame("I see an cow.", realiser.realise(completeSen).Realisation); }
public virtual void frontNPStringElementTest() { SPhraseSpec senSpec = phraseFactory.createClause(); NPPhraseSpec np = phraseFactory.createNounPhrase(); np.setHead("cat"); np.setDeterminer("the"); senSpec.addComplement(np); senSpec.addComplement(phraseFactory.createStringElement("loves a dog")); DocumentElement completeSen = phraseFactory.createSentence(); completeSen.addComponent(senSpec); Assert.AreEqual("The cat loves a dog.", realiser.realise(completeSen).Realisation); }
public virtual void pointAbsorptionTrailingWhiteSpaceTest() { SPhraseSpec senSpec = phraseFactory.createClause(); NPPhraseSpec firstNoun = phraseFactory.createNounPhrase(); firstNoun.setNoun("yaha"); senSpec.addComplement(firstNoun); senSpec.addComplement("was sleeping on his own and dreaming etc. "); DocumentElement completeSen = phraseFactory.createSentence(); completeSen.addComponent(senSpec); Assert.AreEqual("Yaha was sleeping on his own and dreaming etc.", realiser.realise(completeSen).Realisation); }
public virtual void mulitpleStringElementsTest() { SPhraseSpec senSpec = phraseFactory.createClause(); senSpec.addComplement(phraseFactory.createStringElement("the world loves")); NPPhraseSpec np = phraseFactory.createNounPhrase(); np.setHead("ABBA"); senSpec.addComplement(np); senSpec.addComplement(phraseFactory.createStringElement("but not a sore loser")); DocumentElement completeSen = phraseFactory.createSentence(); completeSen.addComponent(senSpec); Assert.AreEqual("The world loves ABBA but not a sore loser.", realiser.realise(completeSen).Realisation); }
public virtual void testPassiveWithPPCompl() { // passive with just complement NPPhraseSpec subject = phraseFactory.createNounPhrase("wave"); subject.setFeature(Feature.NUMBER, NumberAgreement.PLURAL); NPPhraseSpec @object = phraseFactory.createNounPhrase("surfer"); @object.setFeature(Feature.NUMBER, NumberAgreement.PLURAL); SPhraseSpec _s1 = phraseFactory.createClause(subject, "carry", @object); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ // add a PP complement PPPhraseSpec pp = phraseFactory.createPrepositionPhrase("to", phraseFactory.createNounPhrase("the", "shore")); pp.setFeature(InternalFeature.DISCOURSE_FUNCTION, DiscourseFunction.INDIRECT_OBJECT); _s1.addComplement(pp); _s1.setFeature(Feature.PASSIVE, true); Assert.AreEqual("surfers are carried to the shore by waves", realiser.realise(_s1).Realisation); //$NON-NLS-1$ }
public virtual void section13_Test() { Lexicon lexicon = Lexicon.DefaultLexicon; // default simplenlg lexicon NLGFactory nlgFactory = new NLGFactory(lexicon); // factory based on lexicon Realiser realiser = new Realiser(lexicon); SPhraseSpec s1 = nlgFactory.createClause("my cat", "like", "fish"); SPhraseSpec s2 = nlgFactory.createClause("my dog", "like", "big bones"); SPhraseSpec s3 = nlgFactory.createClause("my horse", "like", "grass"); CoordinatedPhraseElement c = nlgFactory.createCoordinatedPhrase(); c.addCoordinate(s1); c.addCoordinate(s2); c.addCoordinate(s3); string outputA = realiser.realiseSentence(c); Assert.AreEqual("My cat likes fish, my dog likes big bones and my horse likes grass.", outputA); SPhraseSpec p = nlgFactory.createClause("I", "be", "happy"); SPhraseSpec q = nlgFactory.createClause("I", "eat", "fish"); q.setFeature(Feature.COMPLEMENTISER, "because"); q.setFeature(Feature.TENSE, Tense.PAST); p.addComplement(q); string outputB = realiser.realiseSentence(p); Assert.AreEqual("I am happy because I ate fish.", outputB); }
public virtual void mulitpleNPElementsTest() { SPhraseSpec senSpec = phraseFactory.createClause(); NPPhraseSpec frontNoun = phraseFactory.createNounPhrase(); frontNoun.setHead("john"); senSpec.addComplement(frontNoun); senSpec.addComplement(phraseFactory.createStringElement("is a trier")); NPPhraseSpec backNoun = phraseFactory.createNounPhrase(); backNoun.setDeterminer("for"); backNoun.setNoun("cheese"); senSpec.addComplement(backNoun); DocumentElement completeSen = phraseFactory.createSentence(); completeSen.addComponent(senSpec); Assert.AreEqual("John is a trier for cheese.", realiser.realise(completeSen).Realisation); }
public virtual void section7_Test() { Lexicon lexicon = Lexicon.DefaultLexicon; // default simplenlg lexicon NLGFactory nlgFactory = new NLGFactory(lexicon); // factory based on lexicon Realiser realiser = new Realiser(lexicon); SPhraseSpec p = nlgFactory.createClause(); p.setSubject("Mary"); p.setVerb("chase"); p.setObject("the monkey"); p.addComplement("very quickly"); p.addComplement("despite her exhaustion"); string output = realiser.realiseSentence(p); Assert.AreEqual("Mary chases the monkey very quickly despite her exhaustion.", output); }
public virtual void aggregationStringElementTest() { CoordinatedPhraseElement coordinate = phraseFactory.createCoordinatedPhrase( new StringElement("John is going to Tesco"), new StringElement("Mary is going to Sainsburys")); SPhraseSpec sentence = phraseFactory.createClause(); sentence.addComplement(coordinate); Assert.AreEqual("John is going to Tesco and Mary is going to Sainsburys.", realiser.realiseSentence(sentence)); }
public virtual void middleAbbreviationTest() { SPhraseSpec senSpec = phraseFactory.createClause(); NPPhraseSpec firstNoun = phraseFactory.createNounPhrase(); firstNoun.setNoun("yahya"); senSpec.addComplement(firstNoun); senSpec.addComplement(phraseFactory.createStringElement("and friends etc. went to")); NPPhraseSpec secondNoun = phraseFactory.createNounPhrase(); secondNoun.setDeterminer("the"); secondNoun.setNoun("park"); senSpec.addComplement(secondNoun); senSpec.addComplement("to play"); DocumentElement completeSen = phraseFactory.createSentence(); completeSen.addComponent(senSpec); Assert.AreEqual("Yahya and friends etc. went to the park to play.", realiser.realise(completeSen).Realisation); }
public virtual void whiteSpaceNPTest() { SPhraseSpec senSpec = phraseFactory.createClause(); NPPhraseSpec firstNoun = phraseFactory.createNounPhrase(); firstNoun.setDeterminer("the"); firstNoun.setNoun("Nasdaq"); senSpec.addComplement(firstNoun); senSpec.addComplement(phraseFactory.createStringElement(" rose steadily during ")); NPPhraseSpec secondNoun = phraseFactory.createNounPhrase(); secondNoun.setSpecifier("early"); secondNoun.setNoun("trading"); senSpec.addComplement(secondNoun); senSpec.addComplement(phraseFactory.createStringElement(" , however it plummeted due to")); NPPhraseSpec thirdNoun = phraseFactory.createNounPhrase(); thirdNoun.setSpecifier("a"); thirdNoun.setNoun("shock"); senSpec.addComplement(thirdNoun); senSpec.addComplement(phraseFactory.createStringElement(" after ")); NPPhraseSpec fourthNoun = phraseFactory.createNounPhrase(); fourthNoun.setNoun("IBM"); senSpec.addComplement(fourthNoun); senSpec.addComplement(phraseFactory.createStringElement("announced poor ")); NPPhraseSpec fifthNoun = phraseFactory.createNounPhrase(); fifthNoun.setSpecifier("first quarter"); fifthNoun.setNoun("results"); fifthNoun.Plural = true; senSpec.addComplement(fifthNoun); DocumentElement completeSen = phraseFactory.createSentence(); completeSen.addComponent(senSpec); Assert.AreEqual( "The Nasdaq rose steadily during early trading, however it plummeted due to a shock after IBM announced poor first quarter results.", realiser.realise(completeSen).Realisation); }
public virtual void kerberTest() { SPhraseSpec sp = phraseFactory.createClause("he", "need"); SPhraseSpec secondSp = phraseFactory.createClause(); secondSp.setVerb("build"); secondSp.setObject("a house"); secondSp.setFeature(Feature.FORM, Form.INFINITIVE); sp.setObject("stone"); sp.addComplement(secondSp); Assert.AreEqual("he needs stone to build a house", realiser.realise(sp).Realisation); SPhraseSpec sp2 = phraseFactory.createClause("he", "give"); sp2.setIndirectObject("I"); sp2.setObject("the book"); Assert.AreEqual("he gives me the book", realiser.realise(sp2).Realisation); }
public virtual void section11_Test() { Lexicon lexicon = Lexicon.DefaultLexicon; // default simplenlg lexicon NLGFactory nlgFactory = new NLGFactory(lexicon); // factory based on lexicon Realiser realiser = new Realiser(lexicon); SPhraseSpec pA = nlgFactory.createClause("Mary", "chase", "the monkey"); pA.addComplement("in the park"); string outputA = realiser.realiseSentence(pA); Assert.AreEqual("Mary chases the monkey in the park.", outputA); // alternative build paradigm NPPhraseSpec place = nlgFactory.createNounPhrase("park"); SPhraseSpec pB = nlgFactory.createClause("Mary", "chase", "the monkey"); // next line is depreciated ~ may be corrected in the API place.setDeterminer("the"); PPPhraseSpec pp = nlgFactory.createPrepositionPhrase(); pp.addComplement(place); pp.setPreposition("in"); pB.addComplement(pp); string outputB = realiser.realiseSentence(pB); Assert.AreEqual("Mary chases the monkey in the park.", outputB); place.addPreModifier("leafy"); string outputC = realiser.realiseSentence(pB); Assert.AreEqual("Mary chases the monkey in the leafy park.", outputC); } // testSection11