Example #1
0
def test_gold_reduce_oracle(string, gold):
    state = PyState(string, gold=gold)
    state.transition('S')
    state.transition('L-SUBJ')
    state.transition('S')
    state.transition('S')
    state.transition('L-OTHER')
    state.transition('R-OBJ')
    assert not state.is_gold('R-OTHER')
    assert not state.is_gold('S')
    assert state.is_gold('D')
    assert not state.is_gold('L-ROOT')
    assert not state.is_gold('R-OBJ')
Example #2
0
def test_gold_reduce_oracle(string, gold):
    state = PyState(string, gold=gold)
    state.transition('S')
    state.transition('L-SUBJ')
    state.transition('S')
    state.transition('S')
    state.transition('L-OTHER')
    state.transition('R-OBJ')
    assert not state.is_gold('R-OTHER')
    assert not state.is_gold('S')
    assert state.is_gold('D')
    assert not state.is_gold('L-ROOT')
    assert not state.is_gold('R-OBJ')
Example #3
0
def test_sunk_right(string, gold):
    state = PyState(string, gold=gold)
    state.transition('S')
    assert state.top == 1
    assert not state.is_gold('R-OBJ')
    assert state.top == 1
    state.transition('R-OBJ')
    assert state.top == 2
    assert not state.is_gold('D')
    state.transition('D')
    assert not state.is_gold('R-OBJ')
    state.transition('R-OBJ')
    assert state.is_gold('D')
    assert not state.is_gold('L-OTHER')
    assert not state.is_valid('L-OTHER')
Example #4
0
def test_sunk_right(string, gold):
    state = PyState(string, gold=gold)
    state.transition('S')
    assert state.top == 1
    assert not state.is_gold('R-OBJ')
    assert state.top == 1
    state.transition('R-OBJ')
    assert state.top == 2
    assert not state.is_gold('D')
    state.transition('D')
    assert not state.is_gold('R-OBJ')
    state.transition('R-OBJ')
    assert state.is_gold('D')
    assert not state.is_gold('L-OTHER')
    assert not state.is_valid('L-OTHER')
Example #5
0
def test_sunk_left(string, gold):
    state = PyState(string, gold=gold)
    state.transition('S')
    state.transition('L-SUBJ')
    state.transition('S')
    state.transition('S')
    assert not state.is_gold('S')
    state.transition('S')
    # Now have (is, a, test) on stack --- this is wrong
    assert state.is_gold('L-SUBJ')
    assert state.is_gold('L-ROOT')
    assert state.is_gold('L-OTHER')
    assert not state.is_gold('R-OTHER')
    assert not state.is_gold('R-OBJ')
    assert not state.is_gold('D')
    assert not state.is_gold('S')
    state.transition('L-SUBJ')
    assert state.is_gold('L-SUBJ')
    assert state.is_gold('L-ROOT')
    assert state.is_gold('L-OTHER')
    state.transition('L-ROOT')
    assert state.top == 2
    assert state.is_gold('R-OTHER')
Example #6
0
def test_sunk_left(string, gold):
    state = PyState(string, gold=gold)
    state.transition('S')
    state.transition('L-SUBJ')
    state.transition('S')
    state.transition('S')
    assert not state.is_gold('S')
    state.transition('S')
    # Now have (is, a, test) on stack --- this is wrong
    assert state.is_gold('L-SUBJ')
    assert state.is_gold('L-ROOT')
    assert state.is_gold('L-OTHER')
    assert not state.is_gold('R-OTHER')
    assert not state.is_gold('R-OBJ')
    assert not state.is_gold('D')
    assert not state.is_gold('S')
    state.transition('L-SUBJ')
    assert state.is_gold('L-SUBJ')
    assert state.is_gold('L-ROOT')
    assert state.is_gold('L-OTHER')
    state.transition('L-ROOT')
    assert state.top == 2
    assert state.is_gold('R-OTHER')