Пример #1
0
def test_Nose__add__(a, b, c):
    """ the properties are taken from here:
        http://hackage.haskell.org/package/base-4.12.0.0/docs/Prelude.html#t:Num
    """
    assert round_Part((a + b) + c) == round_Part(a + (b + c))
    assert a + b == b + a
    assert a + Nose.default() == a
    assert a + -a == Nose(Coord(0, 0), Coord(0, 0), Coord(0, 0))
Пример #2
0
def test_Coord__add__(a, b, c):
    # Needed to avoid test failures due to errors in floating point calc
    assume((a.x + b.x) + c.x == a.x + (b.x + c.x))
    assume((a.y + b.y) + c.y == a.y + (b.y + c.y))

    assert (a + b) + c == a + (b + c)
    assert a + b == b + a
    assert a + Coord(0.0, 0.0) == a
    assert a + -a == Coord(0.0, 0.0)
Пример #3
0
def test_Nose__init__(a, b, c):
    nose = Nose(a, b, c)

    assert nose.bottom == a
    assert nose.top == Coord(0, 0)
    assert nose.leftSide == b
    assert nose.rightSide == c
Пример #4
0
    st.builds(Eye, CoordStrategies, CoordStrategies, CoordStrategies,
              CoordStrategies),
    st.builds(Eye, CoordStrategies, CoordStrategies, CoordStrategies,
              CoordStrategies),
    st.builds(Mouth, CoordStrategies, CoordStrategies, CoordStrategies,
              CoordStrategies),
    st.builds(Nose, CoordStrategies, CoordStrategies, CoordStrategies),
    st.builds(EyeBrow, CoordStrategies, CoordStrategies, CoordStrategies,
              CoordStrategies),
    st.builds(EyeBrow, CoordStrategies, CoordStrategies, CoordStrategies,
              CoordStrategies))

face_front = Face(
    AbsoluteCoord(0, 0), RelativeCoord(25, 30), RelativeCoord(-25, 30),
    RelativeCoord(0, -50),
    Eye(Coord(10, 20), Coord(0, 0), Coord(0, 0), Coord(3, 25)),
    Eye(Coord(-10, 20), Coord(0, 0), Coord(-3, 25), Coord(0, 0)),
    Mouth(Coord(0, 0), Coord(0, 0), Coord(0, 0), Coord(0, 0)),
    Nose(Coord(0, 0), Coord(0, 0), Coord(0, 0)),
    EyeBrow(Coord(0, 0), Coord(0, 0), Coord(0, 0), Coord(5, 50)),
    EyeBrow(Coord(0, 0), Coord(0, 0), Coord(-5, 50), Coord(0, 0)))
face_right = Face(
    AbsoluteCoord(-3, 0), RelativeCoord(20, 30), RelativeCoord(-25, 30),
    RelativeCoord(-2.5, -50),
    Eye(Coord(5, 20), Coord(0, 0), Coord(0, 0), Coord(2, 25)),
    Eye(Coord(-6, 20), Coord(0, 0), Coord(-3, 25), Coord(0, 0)),
    Mouth(Coord(0, 0), Coord(0, 0), Coord(0, 0), Coord(0, 0)),
    Nose(Coord(0, 0), Coord(0, 0), Coord(0, 0)),
    EyeBrow(Coord(0, 0), Coord(0, 0), Coord(0, 0), Coord(0, 50)),
    EyeBrow(Coord(0, 0), Coord(0, 0), Coord(-5, 50), Coord(0, 0)))
face_left = Face(AbsoluteCoord(3, 0), RelativeCoord(25, 30),
Пример #5
0
def test_RelativeCoord_fromCoord():
    assert isinstance(RelativeCoord.fromCoord(Coord(0, 0)), RelativeCoord)
Пример #6
0
def test_AbsoluteCoord_fromCoord():
    assert isinstance(AbsoluteCoord.fromCoord(Coord(0, 0)), AbsoluteCoord)
Пример #7
0
def test_Coord_fromDPoint(p):
    assert Coord.fromDPoint(p) == Coord(p.x, p.y)
Пример #8
0
def test_Coord_default():
    assert Coord.default() == Coord(0, 0)
Пример #9
0
def test_Coord__sub__(a):
    assert a - a == Coord(0.0, 0.0)
Пример #10
0
def test_Face_fromDPoints():
    points = dlib.dpoints([dlib.dpoint(x, x) for x in range(194)])
    # Those values are defined in LANDMARK_NUM
    correct = Face(
        AbsoluteCoord(49.0, 49.0), RelativeCoord(0.0, 0.0),
        RelativeCoord(40.0, 40.0), RelativeCoord(19.0, 19.0),
        Eye(Coord(129.0, 129.0), Coord(120.0, 120.0), Coord(124.0, 124.0),
            Coord(114.0, 114.0)),
        Eye(Coord(149.0, 149.0), Coord(140.0, 140.0), Coord(135.0, 135.0),
            Coord(145.0, 145.0)),
        Mouth(Coord(79.0, 79.0), Coord(65.0, 65.0), Coord(71.0, 71.0),
              Coord(58.0, 58.0)),
        Nose(Coord(49.0, 49.0), Coord(54.0, 54.0), Coord(44.0, 44.0)),
        EyeBrow(Coord(169.0, 169.0), Coord(159.0, 159.0), Coord(164.0, 164.0),
                Coord(154.0, 154.0)),
        EyeBrow(Coord(190.0, 190.0), Coord(179.0, 179.0), Coord(174.0, 174.0),
                Coord(185.0, 185.0)))
    assert Face.fromDPoints(points) == correct
Пример #11
0
def test_Nose_default():
    assert Nose.default() == Nose(Coord(0, 0), Coord(0, 0), Coord(0, 0))
Пример #12
0
def test_Nose__sub__(a):
    assert a - a == Nose(Coord(0, 0), Coord(0, 0), Coord(0, 0))
Пример #13
0
def test_Coord__eq__(n, m):
    assert Coord(n, m) == Coord(n, m)
    assert Coord(n, m) != Coord(n - 1.0, m)
    assert Coord(n, m) != Coord(n, m - 1.0)
    if n != m:
        assert Coord(n, m) != Coord(m, n)
Пример #14
0
def test_Part_default():
    assert Part.default()\
        == Part(Coord(0, 0), Coord(0, 0), Coord(0, 0), Coord(0, 0))
Пример #15
0
def test_Part__sub__(a):
    assert a - a == Part(Coord(0, 0), Coord(0, 0), Coord(0, 0), Coord(0, 0))
Пример #16
0
 def _2C(t: Tuple[float, float]):
     return Coord(t[0], t[1])