Ejemplo n.º 1
0
    def test_add_eps(self):
        x = Xmrs()
        # only nodeid
        with pytest.raises(XmrsError):
            x.add_eps([(10000,)])
        assert len(x.eps()) == 0
        # nodeid and pred
        with pytest.raises(XmrsError):
            x.add_eps([(10000, Pred.surface('_v_v_rel'))])
        assert len(x.eps()) == 0
        # nodeid, pred, and label (the minimum)
        x.add_eps([(10000, Pred.surface('_v_v_rel'), 'h1')])
        # make sure it was entered correctly and is unchanged
        assert len(x.eps()) == 1
        assert x.eps()[0][0] == 10000
        ep = x.ep(10000)
        assert isinstance(ep[1], Pred) and ep[1].string == '_v_v_rel'
        assert ep[2] == 'h1'

        # nodeid, pred, label, and argdict
        x = Xmrs()
        x.add_eps([(10000, Pred.surface('_v_v_rel'), 'h1', {})])
        assert len(x.eps()) == 1
        assert x.eps()[0][0] == 10000
        ep = x.ep(10000)
        assert ep[0] == 10000
        assert isinstance(ep[1], Pred) and ep[1].string == '_v_v_rel'
        assert ep[2] == 'h1'
        assert ep[3] == {}

        # cannot have more than one ep with the same nodeid
        with pytest.raises(XmrsError):
            x.add_eps([(10000, Pred.surface('_n_n_rel'), 'h3', {})])
        assert len(x.eps()) == 1
Ejemplo n.º 2
0
    def test_add_eps(self):
        x = Xmrs()
        # only nodeid
        with pytest.raises(XmrsError):
            x.add_eps([(10000,)])
        assert len(x.eps()) == 0
        # nodeid and pred
        with pytest.raises(XmrsError):
            x.add_eps([(10000, Pred.stringpred('_v_v_rel'))])
        assert len(x.eps()) == 0
        # nodeid, pred, and label (the minimum)
        x.add_eps([(10000, Pred.stringpred('_v_v_rel'), 'h1')])
        # make sure it was entered correctly and is unchanged
        assert len(x.eps()) == 1
        assert x.eps()[0][0] == 10000
        ep = x.ep(10000)
        assert isinstance(ep[1], Pred) and ep[1].string == '_v_v_rel'
        assert ep[2] == 'h1'

        # nodeid, pred, label, and argdict
        x = Xmrs()
        x.add_eps([(10000, Pred.stringpred('_v_v_rel'), 'h1', {})])
        assert len(x.eps()) == 1
        assert x.eps()[0][0] == 10000
        ep = x.ep(10000)
        assert ep[0] == 10000
        assert isinstance(ep[1], Pred) and ep[1].string == '_v_v_rel'
        assert ep[2] == 'h1'
        assert ep[3] == {}

        # cannot have more than one ep with the same nodeid
        with pytest.raises(XmrsError):
            x.add_eps([(10000, Pred.stringpred('_n_n_rel'), 'h3', {})])
        assert len(x.eps()) == 1
Ejemplo n.º 3
0
 def test_empty(self):
     x = Xmrs()
     assert x.top is None
     assert x.index is None
     assert x.xarg is None
     assert len(x.eps()) == 0
     assert len(x.hcons()) == 0
     assert len(x.icons()) == 0
     assert len(x.variables()) == 0
Ejemplo n.º 4
0
 def test_empty(self):
     x = Xmrs()
     assert x.top is None
     assert x.index is None
     assert x.xarg is None
     assert len(x.nodeids()) == 0
     assert len(x.eps()) == 0
     assert len(x.hcons()) == 0
     assert len(x.icons()) == 0
     assert len(x.variables()) == 0
Ejemplo n.º 5
0
 def test_eps(self):
     sp = Pred.surface
     x = Xmrs()
     assert len(x.eps()) == 0
     x.add_eps([(10, sp('_n_n_rel'), 'h3', {'ARG0': 'x4'})])
     eps = x.eps()
     assert len(eps) == 1
     assert eps[0][0] == 10
     assert eps[0][1] == sp('_n_n_rel')
     assert eps[0][2] == 'h3'
     assert eps[0][3] == {'ARG0': 'x4'}
     x.add_eps([
         (11, sp('_q_q_rel'), 'h5', {'ARG0': 'x4', 'RSTR': 'h6'}),
         (12, sp('_v_v_rel'), 'h7', {'ARG0': 'e2', 'ARG1': 'x4'})
     ])
     eps = x.eps()
     assert len(eps) == 3
     assert eps[0][1] == sp('_n_n_rel')
     assert eps[1][1] == sp('_q_q_rel')
     assert eps[2][1] == sp('_v_v_rel')
     # make sure order is preserved
     x = Xmrs()
     x.add_eps([
         (12, sp('_v_v_rel'), 'h7', {'ARG0':'e2', 'ARG1': 'x4'}),
         (11, sp('_q_q_rel'), 'h5', {'ARG0':'x4', 'RSTR': 'h6'}),
         (10, sp('_n_n_rel'), 'h3', {'ARG0':'x4'})
     ])
     eps = x.eps()
     assert eps[0][1] == sp('_v_v_rel')
     assert eps[1][1] == sp('_q_q_rel')
     assert eps[2][1] == sp('_n_n_rel')
     # only get with given nodeids and in that order
     eps = x.eps(nodeids=[10, 11])
     assert eps[0][1] == sp('_n_n_rel')
     assert eps[1][1] == sp('_q_q_rel')
     # but asking for a non-existing one raises a KeyError
     with pytest.raises(KeyError):
         x.eps(nodeids=[10, 13])
Ejemplo n.º 6
0
 def test_eps(self):
     sp = Pred.stringpred
     x = Xmrs()
     assert len(x.eps()) == 0
     x.add_eps([(10, sp('_n_n_rel'), 'h3', {'ARG0': 'x4'})])
     eps = x.eps()
     assert len(eps) == 1
     assert eps[0][0] == 10
     assert eps[0][1] == sp('_n_n_rel')
     assert eps[0][2] == 'h3'
     assert eps[0][3] == {'ARG0': 'x4'}
     x.add_eps([
         (11, sp('_q_q_rel'), 'h5', {'ARG0': 'x4', 'RSTR': 'h6'}),
         (12, sp('_v_v_rel'), 'h7', {'ARG0': 'e2', 'ARG1': 'x4'})
     ])
     eps = x.eps()
     assert len(eps) == 3
     assert eps[0][1] == sp('_n_n_rel')
     assert eps[1][1] == sp('_q_q_rel')
     assert eps[2][1] == sp('_v_v_rel')
     # make sure order is preserved
     x = Xmrs()
     x.add_eps([
         (12, sp('_v_v_rel'), 'h7', {'ARG0':'e2', 'ARG1': 'x4'}),
         (11, sp('_q_q_rel'), 'h5', {'ARG0':'x4', 'RSTR': 'h6'}),
         (10, sp('_n_n_rel'), 'h3', {'ARG0':'x4'})
     ])
     eps = x.eps()
     assert eps[0][1] == sp('_v_v_rel')
     assert eps[1][1] == sp('_q_q_rel')
     assert eps[2][1] == sp('_n_n_rel')
     # only get with given nodeids and in that order
     eps = x.eps(nodeids=[10, 11])
     assert eps[0][1] == sp('_n_n_rel')
     assert eps[1][1] == sp('_q_q_rel')
     # but asking for a non-existing one raises a KeyError
     with pytest.raises(KeyError):
         x.eps(nodeids=[10, 13])