Package games.stendhal.common.parser

Examples of games.stendhal.common.parser.Sentence


  /**
   * Tests for me.
   */
  @Test
  public final void testMe() {
    final Sentence sentence = ConversationParser.parse("me");
    assertFalse(sentence.hasError());
    assertEquals("i", sentence.getSubject(0).getNormalized());
    assertNull(sentence.getVerbString());
    assertEquals(1, sentence.getSubjectCount());
  }
View Full Code Here


  /**
   * Tests for twoSubjects.
   */
  @Test
  public final void testTwoSubjects() {
    Sentence sentence = ConversationParser.parse("i love you");
    assertFalse(sentence.hasError());
    assertEquals("i", sentence.getSubject(0).getNormalized());
    assertEquals("love", sentence.getVerbString());
    assertEquals("you", sentence.getSubject(1).getNormalized());
    assertEquals("i love you", sentence.getNormalized());

    sentence = ConversationParser.parse("give me 4 fishes");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(0, sentence.getSubjectCount());
    assertEquals(4, sentence.getObject(0).getAmount());
    assertEquals("fish", sentence.getObject(0).getMainWord());
    assertEquals("fish", sentence.getObjectName());
    assertEquals("buy fish!", sentence.getNormalized());
  }
View Full Code Here

  /**
   * Tests for ice cream.
   */
  @Test
  public final void testIceCream() {
    Sentence sentence = ConversationParser.parse("i would like to have an ice cream");
    assertFalse(sentence.hasError());
    assertEquals("i", sentence.getSubject(0).getNormalized());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(1, sentence.getSubjectCount());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("icecream", sentence.getObject(0).getMainWord());
    assertEquals("icecream", sentence.getObjectName());
    assertEquals("i buy icecream!", sentence.getNormalized());
    assertEquals("i/SUB-PRO buy/VER-CON icecream/OBJ!", sentence.toString());

    sentence = ConversationParser.parse("would you like to have an ice cream?");
    assertFalse(sentence.hasError());
    assertEquals("you", sentence.getSubject(0).getNormalized());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(1, sentence.getSubjectCount());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("icecream", sentence.getObject(0).getMainWord());
    assertEquals("icecream", sentence.getObjectName());
    assertEquals("you buy icecream!", sentence.getNormalized());
    assertEquals("you/SUB-PRO buy/VER-CON icecream/OBJ!", sentence.toString());
  }
View Full Code Here

  /**
   * Tests for teddy bears.
   */
  @Test
  public final void testTeddyBear() {
    Sentence sentence = ConversationParser.parse("I love my teddy bear.");
    assertFalse(sentence.hasError());
    assertEquals("i", sentence.getSubject(0).getNormalized());
    assertEquals("love", sentence.getVerbString());
    assertEquals(1, sentence.getSubjectCount());
    assertEquals(1, sentence.getObjectCount());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("teddy", sentence.getObject(0).getMainWord());
    assertEquals("my teddy bear", sentence.getObjectName());
    assertEquals("i love my teddy bear.", sentence.getNormalized());
    assertEquals("i/SUB-PRO love/VER my teddy bear/OBJ.", sentence.toString());

    sentence = ConversationParser.parse("teddy bear");
    assertFalse(sentence.hasError());
    assertEquals("teddy", sentence.getTriggerExpression().getMainWord());
    assertEquals("teddy bear", sentence.getTriggerExpression().getNormalized());
    assertEquals("teddy bear", sentence.getNormalized());
    assertEquals("teddy bear/OBJ", sentence.toString());
  }
View Full Code Here

  /**
   * Tests for punctuation.
   */
  @Test
  public final void testPunctuation() {
    final Sentence sentence = ConversationParser.parse("give me 4 fishes, please");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(0, sentence.getSubjectCount());
    assertEquals(4, sentence.getObject(0).getAmount());
    assertEquals("fish", sentence.getObjectName());
    assertEquals("buy fish!", sentence.getNormalized());

    //TODO mf - also handle "May I ask you to give me 4 fishes, please?"
    //TODO mf - also handle "If i may ask, could you please give me 4 fishes?"
  }
View Full Code Here

   * Tests for getOriginalText() (and some more).
   */
  @Test
  public final void testOriginalText() {
    // test the return values of getOriginalText() and some more ConversationParser/Sentence functions.
    Sentence sentence = ConversationParser.parse("Mary had a little lamb.");
    assertFalse(sentence.hasError());
    assertEquals("mary/SUB-NAM have/VER little lamb/OBJ-ANI.", sentence.toString());
    assertEquals(3, sentence.getExpressions().size());
    assertEquals(Sentence.SentenceType.STATEMENT, sentence.getType());
    assertEquals("have", sentence.getVerbString());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("little lamb", sentence.getObject(0).getNormalized());
    assertEquals("Mary had a little lamb.", sentence.getOriginalText());
    assertEquals("Mary had a little lamb.", sentence.getTrimmedText());
    assertEquals("mary have little lamb.", sentence.getNormalized());

    // test for preserving punctation
    sentence = ConversationParser.parse("Mary has a little, little lamb!");
    assertFalse(sentence.hasError());
    assertEquals(Sentence.SentenceType.IMPERATIVE, sentence.getType());
    assertEquals("mary/SUB-NAM have/VER little little lamb/OBJ-ANI!", sentence.toString());
    assertEquals("Mary has a little, little lamb!", sentence.getOriginalText());
    assertEquals("Mary has a little little lamb!", sentence.getTrimmedText());
    assertEquals("mary have little little lamb!", sentence.getNormalized());

    // test for white space preserving
    // Note: Leading and trailing white space is trimmed always.
    sentence = ConversationParser.parse("  Mary  has  a  little  lamb  . ");
    assertFalse(sentence.hasError());
    assertEquals("mary/SUB-NAM have/VER little lamb/OBJ-ANI.", sentence.toString());
    assertEquals("Mary  has  a  little  lamb  .", sentence.getOriginalText());
    assertEquals("Mary has a little lamb.", sentence.getTrimmedText());
    assertEquals("mary have little lamb.", sentence.getNormalized());

    // test for preserving sentence type
    sentence = ConversationParser.parse("Has Mary a little lamb?");
    assertFalse(sentence.hasError());
    assertEquals(Sentence.SentenceType.QUESTION, sentence.getType());
    assertEquals("have/VER mary/SUB-NAM little lamb/OBJ-ANI?", sentence.toString());
    assertEquals("Has Mary a little lamb?", sentence.getOriginalText());
    assertEquals("Has Mary a little lamb?", sentence.getTrimmedText());
    assertEquals("have mary little lamb?", sentence.getNormalized());
  }
View Full Code Here

   */
  @Test
  public final void testGrammar()
  {
    // test for understanding question grammar
    Sentence sentence = ConversationParser.parse("Does Mary have a little lamb?");
    assertFalse(sentence.hasError());
    assertEquals(Sentence.SentenceType.QUESTION, sentence.getType());
    assertEquals("mary/SUB-NAM have/VER little lamb/OBJ-ANI?", sentence.toString());
    assertEquals("Does Mary have a little lamb?", sentence.getOriginalText());
    assertEquals("Mary have a little lamb?", sentence.getTrimmedText());
    assertEquals("mary have little lamb?", sentence.getNormalized());

    // test for understanding question grammar
    sentence = ConversationParser.parse("Doesn't Mary have a little lamb?");
    assertFalse(sentence.hasError());
    assertEquals(Sentence.SentenceType.QUESTION, sentence.getType());
    assertEquals("mary/SUB-NAM have not/VER-NEG little lamb/OBJ-ANI?", sentence.toString());
    assertEquals("Doesn't Mary have a little lamb?", sentence.getOriginalText());
    assertEquals("Mary have not a little lamb?", sentence.getTrimmedText());
    assertEquals("mary have not little lamb?", sentence.getNormalized());

    // test for a negative statement without punctation
    sentence = ConversationParser.parse("Mary doesn't have a little lamb");
    assertFalse(sentence.hasError());
    assertEquals(Sentence.SentenceType.UNDEFINED, sentence.getType());
    assertEquals("mary/SUB-NAM have not/VER-NEG little lamb/OBJ-ANI", sentence.toString());
    assertEquals("mary have not little lamb", sentence.getNormalized());

    // test for a negative statement with punctation
    sentence = ConversationParser.parse("Mary doesn't have a little lamb.");
    assertFalse(sentence.hasError());
    assertEquals(Sentence.SentenceType.STATEMENT, sentence.getType());
    assertEquals("mary/SUB-NAM have not/VER-NEG little lamb/OBJ-ANI.", sentence.toString());
    assertEquals("Mary doesn't have a little lamb.", sentence.getOriginalText());
    assertEquals("Mary have not a little lamb.", sentence.getTrimmedText());
    assertEquals("mary have not little lamb.", sentence.getNormalized());
  }
View Full Code Here

  /**
   * Tests for compoundWords.
   */
  @Test
  public final void testCompoundWords() {
    Sentence sentence = ConversationParser.parse("take golden ring");
    assertFalse(sentence.hasError());
    assertEquals("take", sentence.getVerbString());
    assertEquals("golden ring", sentence.getObjectName());
    assertEquals("take golden ring", sentence.getNormalized());
    assertEquals("take/VER golden ring/OBJ-COL", sentence.toString());

    sentence = ConversationParser.parse("take ring golden");
    assertFalse(sentence.hasError());
    assertEquals("take", sentence.getVerbString());
    assertEquals("ring", sentence.getObjectName());
    assertEquals("take ring golden", sentence.getNormalized());
    assertEquals("take/VER ring/OBJ golden/ADJ-COL", sentence.toString());

    sentence = ConversationParser.parse("take lich gold key");
    assertFalse(sentence.hasError());
    assertEquals("take", sentence.getVerbString());
    assertEquals("lich gold key", sentence.getObjectName());
    assertEquals("take lich gold key", sentence.getNormalized());
    assertEquals("take/VER lich gold key/OBJ", sentence.toString());

    sentence = ConversationParser.parse("take dungeon silver key");
    assertEquals("take/VER dungeon silver key/OBJ", sentence.toString());
    assertEquals("dungeon silver key", sentence.getObjectName());

    sentence = ConversationParser.parse("buy lion shield");
    assertEquals("buy/VER lion shield/OBJ", sentence.toString());
    assertEquals("lion shield", sentence.getObjectName());

    sentence = ConversationParser.parse("buy wedding ring");
    assertEquals("buy/VER wedding ring/OBJ", sentence.toString());
    assertEquals("wedding ring", sentence.getObjectName());

    sentence = ConversationParser.parse("buy engagement ring");
    assertEquals("buy/VER engagement ring/OBJ", sentence.toString());
    assertEquals("engagement ring", sentence.getObjectName());

    sentence = ConversationParser.parse("buy enhanced lion shield");
    assertEquals("buy/VER enhanced lion shield/OBJ", sentence.toString());
    assertEquals("enhanced lion shield", sentence.getObjectName());

    sentence = ConversationParser.parse("buy summon scroll");
    assertEquals("buy/VER summon scroll/OBJ", sentence.toString());
    assertEquals("buy", sentence.getVerbString());
    assertEquals("summon scroll", sentence.getObjectName());

    sentence = ConversationParser.parse("buy 1 summon scroll");
    assertEquals("buy/VER summon scroll/OBJ", sentence.toString());
    assertEquals("summon scroll", sentence.getObjectName());
  }
View Full Code Here

  /**
   * Tests for smilies.
   */
  @Test
  public final void testSmilies() {
    Sentence sentence = ConversationParser.parse(":-)");
    assertFalse(sentence.hasError());
    assertEquals("smile", sentence.getVerbString());
    assertEquals("smile", sentence.getNormalized());
    assertEquals("smile/VER", sentence.toString());

    sentence = ConversationParser.parse(":)");
    assertFalse(sentence.hasError());
    assertEquals("smile", sentence.getVerbString());
    assertEquals("smile", sentence.getNormalized());
    assertEquals("smile/VER", sentence.toString());

    sentence = ConversationParser.parse(":*");
    assertFalse(sentence.hasError());
    assertEquals("kiss", sentence.getVerbString());
    assertEquals("kiss", sentence.getNormalized());
    assertEquals("kiss/VER", sentence.toString());
  }
View Full Code Here

  /**
   * Tests for nullPointer.
   */
  @Test
  public final void testNullPointer() {
    final Sentence sentence = ConversationParser.parse(null);
    assertNotNull(sentence);
    assertEquals(0, sentence.getSubjectCount());
    assertNull(sentence.getSubject(0));
    assertEquals(0, sentence.getVerbCount());
    assertNull(sentence.getVerb(0));
    assertEquals(0, sentence.getObjectCount());
    assertNull(sentence.getObject(0));
    assertNull(sentence.getObjectName());
    assertFalse(sentence.hasError());

    SentenceImplementation impl = new SentenceImplementation(null, null);
    ConversationParser parser = new ConversationParser(impl);
    impl.parse(parser);
    assertNotNull(impl);
View Full Code Here

TOP

Related Classes of games.stendhal.common.parser.Sentence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.