Esempio n. 1
0
def test_figure6(pants_template):
    t = pants_template
    assert (t.simplify_pants_path([
        Edge(2, LEFT, 3, LEFT),
        Edge(3, NEUTRAL, 3, NEUTRAL, BACKWARD),
        Edge(3, LEFT, 2, LEFT)
    ]) == [Edge(2, LEFT, 2, LEFT, RIGHT)])
Esempio n. 2
0
def test_simplify_backtracking():
    t = Template()
    edge1 = Edge(2, -1, 3, -1)
    edge2 = Edge(3, -1, 2, -1)
    assert (t.simplify_backtracking([edge1, edge2]) == [])
    assert (t.simplify_backtracking([edge1]) == PATH_LEGAL)
    edge3 = Edge(3, -1, 3, 1)
    assert (t.simplify_backtracking([edge1, edge3]) == PATH_LEGAL)
Esempio n. 3
0
def test_figure7(pants_template):
    t = pants_template
    assert (t.simplify_pants_path([
        Edge(2, LEFT, 1, LEFT),
        Edge(1, NEUTRAL, 1, NEUTRAL, BACKWARD),
        Edge(1, LEFT, 2, LEFT)
    ]) == [
        Edge(2, LEFT, 2, LEFT, LEFT),
        Edge(2, NEUTRAL, 2, NEUTRAL, FORWARD)
    ])
Esempio n. 4
0
def test_simplify_simple():
    """Test Template.simplify_simple"""
    t = Template()
    edge1 = Edge(2, -1, 3, -1)
    edge2 = Edge(3, -1, 1, 1)
    edge3 = Edge(2, -1, 1, 1)
    assert (t.simplify_simple([edge1, edge2]) == [edge3])
    assert (t.simplify_simple([edge1]) == PATH_LEGAL)
    edge4 = Edge(3, 1, 4, 2)
    assert (t.simplify_simple([edge1, edge4]) == PATH_LEGAL)
    assert (t.simplify_simple([Edge(1, 0, 2, 0),
                               Edge(2, 0, 3, 0)]) == [Edge(1, 0, 3, 0)])
Esempio n. 5
0
def test_simplify_path(pants_template):
    t = pants_template
    path = [
        Edge(1, LEFT, 2, LEFT),
        Edge(2, LEFT, 3, LEFT),
        Edge(3, NEUTRAL, 3, NEUTRAL, FORWARD),
        Edge(3, NEUTRAL, 3, NEUTRAL, BACKWARD),
        Edge(3, RIGHT, 2, RIGHT),
        Edge(2, RIGHT, 2, RIGHT, LEFT),
        Edge(2, RIGHT, 3, RIGHT)
    ]
    assert (t.simplify_path(path) == [
        Edge(1, LEFT, 3, LEFT),
        Edge(3, NEUTRAL, 3, NEUTRAL, FORWARD),
        Edge(3, RIGHT, 3, RIGHT, RIGHT)
    ])

    path = [
        Edge(3, LEFT, 2, LEFT),
        Edge(2, NEUTRAL, 2, NEUTRAL, FORWARD),
        Edge(2, RIGHT, 2, RIGHT, RIGHT),
        Edge(2, NEUTRAL, 2, NEUTRAL, BACKWARD),
        Edge(2, LEFT, 2, LEFT, RIGHT),
        Edge(2, LEFT, 1, LEFT)
    ]
    assert (t.simplify_path(path) == [
        Edge(3, LEFT, 2, LEFT),
        Edge(2, NEUTRAL, 2, NEUTRAL, FORWARD),
        Edge(2, RIGHT, 2, RIGHT, RIGHT),
        Edge(2, LEFT, 1, LEFT),
        Edge(1, NEUTRAL, 1, NEUTRAL, FORWARD)
    ])