def test_basic_sentence(): result = lexicon.scan("bear kill princess") assert_equal(result, [('noun', 'bear'), ('verb', 'kill'), ('noun', 'princess')]) sentence = parse_sentence(result) assert_equal(sentence.subject, 'bear') assert_equal(sentence.verb, 'kill') assert_equal(sentence.object, 'princess')
def test_noisy_sentence(): result = lexicon.scan("in kill eat bear princess") assert_equal(result, [('stop', 'in'), ('verb', 'kill'), ('verb', 'eat'), ('noun', 'bear'), ('noun', 'princess')]) #sentence = parse_sentence(result) assert_raises(ParserError, parse_sentence, result) assert_raises(ParserError, parse_verb, [('noun', 'bear')], 0)
def test_noisy_sentence(): result = lexicon.scan("in kill of bear princess") assert_equal(result, [('stop', 'in'), ('verb', 'kill'), ('stop', 'of'), ('noun', 'bear'), ('noun', 'princess')]) sentence = parse_sentence(result) assert_equal(sentence.subject, 'player') assert_equal(sentence.verb, 'kill') assert_equal(sentence.object, 'bear')
def test_directions(): assert_equal(lexicon.scan("north"), [("direction", "north")]) result = lexicon.scan("north south east") assert_equal(result, [("direction", "north"), ("direction", "south"), ("direction", "east")])
def test_errors(): assert_equal(lexicon.scan("ASDFADFASDF"), [("error", "ASDFADFASDF")]) result = lexicon.scan("bear IAS princess") assert_equal(result, [("noun", "bear"), ("error", "IAS"), ("noun", "princess")])
def test_numbers(): assert_equal(lexicon.scan("1234"), [("number", 1234)]) result = lexicon.scan("3 91234") assert_equal(result, [("number", 3), ("number", 91234)])
def test_nouns(): assert_equal(lexicon.scan("bear"), [("noun", "bear")]) result = lexicon.scan("bear princess") assert_equal(result, [("noun", "bear"), ("noun", "princess")])
def test_stops(): assert_equal(lexicon.scan("the"), [("stop", "the")]) result = lexicon.scan("the in of") assert_equal(result, [("stop", "the"), ("stop", "in"), ("stop", "of")])
def test_verbs(): assert_equal(lexicon.scan("go"), [("verb", "go")]) result = lexicon.scan("go kill eat") assert_equal(result, [("verb", "go"), ("verb", "kill"), ("verb", "eat")])