def test_gold_left_oracle(string, gold): state = PyState(string, gold=gold) state.transition('S') assert state.is_gold('L-SUBJ') assert not state.is_gold('L-OTHER') assert not state.is_gold('S') assert not state.is_gold('D') assert not state.is_gold('R-OBJ') state.transition('L-SUBJ') assert not state.is_valid('L-SUBJ') assert not state.is_valid('R-OTHER') assert not state.is_valid('D') assert state.is_gold('S') state.transition('S') state.transition('S') assert not state.is_gold('L-SUBJ') assert state.is_gold('L-OTHER') assert not state.is_gold('S') assert not state.is_gold('D') assert not state.is_gold('R-OBJ')
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')
def test_left_invalid(string): state = PyState(string, transitions=['S', 'R-OBJ']) assert not state.is_valid('L-SUBJ')
def test_reduce_valid(string): state = PyState(string, transitions=['S', 'R-OBJ']) assert state.is_valid('D')
def test_reduce_invalid(string): state = PyState(string, transitions=['S']) assert not state.is_valid('D')
def test_left_valid(string): state = PyState(string, transitions=['S']) assert state.is_valid('L-SUBJ')
def test_right_valid(string): state = PyState(string, transitions=['S']) assert state.is_valid('R-OBJ')
def test_init_valid(string): state = PyState(string) assert state.is_valid('S') assert not state.is_valid('D') assert not state.is_valid('R-OBJ') assert not state.is_valid('L-SUBJ')