Example #1
0
def test_symmetry():
    s1 = Skeleton("s1")
    s1.add_nodes(["1", "2", "3", "4", "5", "6"])
    s1.add_edge("1", "2")
    s1.add_edge("3", "4")
    s1.add_edge("5", "6")
    s1.add_symmetry("1", "5")
    s1.add_symmetry("3", "6")

    assert s1.get_symmetry("1").name == "5"
    assert s1.get_symmetry("5").name == "1"

    assert s1.get_symmetry("3").name == "6"

    # Cannot add more than one symmetry to a node
    with pytest.raises(ValueError):
        s1.add_symmetry("1", "6")
    with pytest.raises(ValueError):
        s1.add_symmetry("6", "1")

    s1.delete_symmetry("1", "5")
    assert s1.get_symmetry("1") is None

    with pytest.raises(ValueError):
        s1.delete_symmetry("1", "5")
Example #2
0
def test_symmetry():
    s1 = Skeleton("s1")
    s1.add_nodes(["1", "2", "3", "4", "5", "6"])
    s1.add_edge("1", "2")
    s1.add_edge("3", "4")
    s1.add_edge("5", "6")
    s1.add_symmetry("1", "5")
    s1.add_symmetry("3", "6")

    assert (s1.nodes[0], s1.nodes[4]) in s1.symmetries
    assert (s1.nodes[2], s1.nodes[5]) in s1.symmetries
    assert len(s1.symmetries) == 2

    assert (0, 4) in s1.symmetric_inds
    assert (2, 5) in s1.symmetric_inds
    assert len(s1.symmetric_inds) == 2

    assert s1.get_symmetry("1").name == "5"
    assert s1.get_symmetry("5").name == "1"

    assert s1.get_symmetry("3").name == "6"

    # Cannot add more than one symmetry to a node
    with pytest.raises(ValueError):
        s1.add_symmetry("1", "6")
    with pytest.raises(ValueError):
        s1.add_symmetry("6", "1")

    s1.delete_symmetry("1", "5")
    assert s1.get_symmetry("1") is None

    with pytest.raises(ValueError):
        s1.delete_symmetry("1", "5")