예제 #1
0
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')
예제 #2
0
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)
예제 #3
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')
예제 #4
0
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")])
예제 #5
0
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")])
예제 #6
0
def test_numbers():
    assert_equal(lexicon.scan("1234"), [("number", 1234)])
    result = lexicon.scan("3 91234")
    assert_equal(result, [("number", 3), ("number", 91234)])
예제 #7
0
def test_nouns():
    assert_equal(lexicon.scan("bear"), [("noun", "bear")])
    result = lexicon.scan("bear princess")
    assert_equal(result, [("noun", "bear"), ("noun", "princess")])
예제 #8
0
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")])
예제 #9
0
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")])