Package games.stendhal.common.parser

Examples of games.stendhal.common.parser.Sentence


*/
public class ConversationParserTest {

  @Test
  public final void testAmount() {
    Sentence sentence = ConversationParser.parse("buy 3 cookies");
    assertFalse(sentence.hasError());

    assertEquals("buy", sentence.getVerbString());
    assertEquals("buy", sentence.getTriggerExpression().getNormalized());
    assertEquals(3, sentence.getObject(0).getAmount());
    assertEquals("cookie", sentence.getObjectName());

    sentence = ConversationParser.parse("buy 30 cookies");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals("buy", sentence.getTriggerExpression().getNormalized());
    assertEquals(30, sentence.getObject(0).getAmount());
    assertEquals("cookie", sentence.getObjectName());

    sentence = ConversationParser.parse("buy 150 cookies");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals("buy", sentence.getTriggerExpression().getNormalized());
    assertEquals(150, sentence.getObject(0).getAmount());
    assertEquals("cookie", sentence.getObjectName());

    sentence = ConversationParser.parse("buy ten cookies");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(10, sentence.getObject(0).getAmount());
    assertEquals("cookie", sentence.getObjectName());

    sentence = ConversationParser.parse("buy five ten cookies"); // five times ten
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(50, sentence.getObject(0).getAmount());
    assertEquals("cookie", sentence.getObjectName());

    sentence = ConversationParser.parse("buy ten five cookies"); // ten plus five
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(15, sentence.getObject(0).getAmount());
    assertEquals("cookie", sentence.getObjectName());
  }
View Full Code Here


  /**
   * Tests for verboseAmount.
   */
  @Test
  public final void testVerboseAmount() {
    final Sentence sentence = ConversationParser.parse("eat four cookies");
    assertFalse(sentence.hasError());

    assertEquals("eat", sentence.getVerbString());
    assertEquals(4, sentence.getObject(0).getAmount());
    assertEquals("cookie", sentence.getObjectName());
  }
View Full Code Here

  /**
   * Tests for case.
   */
  @Test
  public final void testCase() {
    final Sentence sentence = ConversationParser.parse("buy No Bread");
    assertFalse(sentence.hasError());

    assertEquals("buy", sentence.getVerbString());
    assertEquals("buy", sentence.getTriggerExpression().getNormalized());
    assertEquals(0, sentence.getObject(0).getAmount());
    assertEquals("bread", sentence.getObjectName());
    assertEquals("buy No Bread", sentence.getOriginalText());
    assertEquals("buy No Bread", sentence.getTrimmedText());
    assertEquals("buy bread", sentence.getNormalized());

    assertEquals("buy bread", ConversationParser.normalize("buy any Bread"));
  }
View Full Code Here

  /**
   * Tests for space handling.
   */
  @Test
  public final void testSpaceHandling() {
    Sentence sentence = ConversationParser.parse("drop  three \tmeat");
    assertFalse(sentence.hasError());
    assertEquals("drop", sentence.getVerbString());
    assertEquals("drop/VER", sentence.getVerb().getNormalizedWithTypeString());
    assertEquals("drop", sentence.getTriggerExpression().getNormalized());
    assertEquals(3, sentence.getObject(0).getAmount());
    assertEquals("meat", sentence.getObjectName());
    assertEquals("drop  three   meat", sentence.getOriginalText());
    assertEquals("drop three meat", sentence.getTrimmedText());
    assertEquals("drop meat", sentence.getNormalized());

    sentence = ConversationParser.parse(" sell house   ");
    assertFalse(sentence.hasError());
    assertEquals("sell", sentence.getVerbString());
    assertEquals("sell", sentence.getTriggerExpression().getNormalized());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("house", sentence.getObjectName());
    assertEquals("house", sentence.getObject(0).getMainWord());
    assertEquals("sell house", sentence.getNormalized());
  }
View Full Code Here

  /**
   * Tests for itemName.
   */
  @Test
  public final void testItemName() {
    final Sentence sentence = ConversationParser.parse("buy fresh fish");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals("fresh fish", sentence.getObjectName());
    assertEquals("fish", sentence.getObject(0).getMainWord());
  }
View Full Code Here

  /**
   * Tests for error.
   */
  @Test
  public final void testError() {
    Sentence sentence = ConversationParser.parse("hello world");
    assertFalse(sentence.hasError());

    sentence = ConversationParser.parse("");
    assertFalse(sentence.hasError());

    sentence = ConversationParser.parse("buy -10 cars");
    assertEquals(-10, sentence.getObject(0).getAmount());
    assertTrue(sentence.hasError());
    assertEquals("negative amount: -10", sentence.getErrorString());
  }
View Full Code Here

  /**
   * Tests for isEmpty.
   */
  @Test
  public final void testIsEmpty() {
    Sentence sentence = ConversationParser.parse("");
    assertFalse(sentence.hasError());
    assertTrue(sentence.isEmpty());

    sentence = ConversationParser.parse("hello");
    assertFalse(sentence.hasError());
    assertFalse(sentence.isEmpty());
  }
View Full Code Here

  /**
   * Tests for prepositions.
   */
  @Test
  public final void testPrepositions() {
    final Sentence sentence = ConversationParser.parse("put dish on table");
    assertFalse(sentence.hasError());

    assertEquals("put", sentence.getVerbString());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("dish", sentence.getObject(0).getNormalized());
    assertEquals("on", sentence.getPreposition(0).getNormalized());
    assertEquals("table", sentence.getObject(1).getNormalized());
  }
View Full Code Here

  /**
   * Tests for pluralAndPrefix.
   */
  @Test
  public final void testPluralAndPrefix() {
    Sentence sentence = ConversationParser.parse("buy seven bananas");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(7, sentence.getObject(0).getAmount());
    assertEquals("banana", sentence.getObject(0).getNormalized());

    sentence = ConversationParser.parse("buy a bottle of wine");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("wine", sentence.getObject(0).getNormalized());

    sentence = ConversationParser.parse("buy two pairs of trousers");
    assertFalse(sentence.hasError());
    assertEquals("buy", sentence.getVerbString());
    assertEquals(2, sentence.getObject(0).getAmount());
    assertEquals("trouser", sentence.getObject(0).getNormalized());

    sentence = ConversationParser.parse("sell 4 chaos boots");
    assertFalse(sentence.hasError());
    assertEquals("sell", sentence.getVerbString());
    assertEquals(4, sentence.getObject(0).getAmount());
    assertEquals("chaos boot", sentence.getObject(0).getNormalized());

    sentence = ConversationParser.parse("sell 10 bottles of poison");
    assertFalse(sentence.hasError());
    assertEquals("sell", sentence.getVerbString());
    assertEquals(10, sentence.getObject(0).getAmount());
    assertEquals("poison", sentence.getObject(0).getNormalized());
    assertEquals("sell poison", sentence.getNormalized());
    assertEquals("sell/VER poison/OBJ-FOO-FLU", sentence.toString());

    sentence = ConversationParser.parse("sell 10 bottles of mega poison");
    assertFalse(sentence.hasError());
    assertEquals("sell", sentence.getVerbString());
    assertEquals(10, sentence.getObject(0).getAmount());
    assertEquals("mega poison", sentence.getObject(0).getNormalized());
    assertEquals("sell mega poison", sentence.getNormalized());
    assertEquals("sell/VER mega poison/OBJ-FOO-FLU", sentence.toString());
  }
View Full Code Here

  /**
   * Tests for please.
   */
  @Test
  public final void testPlease() {
    Sentence sentence = ConversationParser.parse("please open chest");
    assertFalse(sentence.hasError());
    assertEquals("open", sentence.getVerbString());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("chest", sentence.getObject(0).getNormalized());

    sentence = ConversationParser.parse("please please do me a favour");
    assertFalse(sentence.hasError());
    assertEquals("you", sentence.getSubject(0).getNormalized());
    assertEquals("do", sentence.getVerbString());
    assertEquals("i", sentence.getSubject(1).getNormalized());
    assertEquals(1, sentence.getObject(0).getAmount());
    assertEquals("favour", sentence.getObject(0).getNormalized());
  }
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.