Exemplo n.º 1
0
def test_transformations():
    c = Cercle(('1/5', '4/5'), '1/3')
    h = Homothetie(('1', '1'), '5/7')
    v = Vecteur(c.centre, h.centre)
    c1 = h(c)
    v1 = Vecteur(c1.centre, h.centre)
    assert v1.coordonnees == tuple(h.rapport * array(v.coordonnees))
    assert_eq('c1.centre.coordonnees', '(3/7, 6/7)', l())
    assert_eq('c1.rayon', '5/21', l())
    c.rayon = '2'
    assert_eq('c1.rayon', '10/7', l())
    r = Rotation(('0', '1'), 'pi/3')
    c2 = r(c)
    t = Translation(('2/3', '-1/3'))
    c3 = t(c)
    m = Reflexion(Droite('y=x'))
    c4 = m(c)
    c.rayon = '3/7'
    assert_eq('c2.rayon', '3/7', l())
    assert_eq('c2.centre.coordonnees',
              '(1/10 + 3**(1/2)/10, 9/10 + 3**(1/2)/10)', l())
    assert_eq('c3.rayon', '3/7', l())
    assert_eq('c3.centre.coordonnees', '(13/15, 7/15)', l())
    assert_eq('c4.rayon', '3/7', l())
    assert_eq('c4.centre.coordonnees', '(4/5, 1/5)', l())
Exemplo n.º 2
0
def test_Parallelogramme():
    A = rand_pt()
    B = rand_pt()
    C = rand_pt()
    p = Parallelogramme(A, B, C)
    D = p.sommets[3]
    assertEqual(Vecteur(A, B), Vecteur(D, C))
Exemplo n.º 3
0
def test_Point_final():
    A = Point(random(), random())
    C = Point(random(), random())
    u = Vecteur_libre(random(), random())
    v = Vecteur(Point(random(), random()), Point(random(), random()))
    w = Representant(
        Vecteur(Point(random(), random()), Point(random(), random())), A)
    F = Point_final(C, (u, v, w), (-2, 1.5, 4))
    assertEqual(type(F.coordonnees), tuple)
    assertAlmostEqual(F.x, C.x - 2 * u.x + 1.5 * v.x + 4 * w.x)
    assertAlmostEqual(F.y, C.y - 2 * u.y + 1.5 * v.y + 4 * w.y)
Exemplo n.º 4
0
def test_Vecteur():
    A = Point(1, 2)
    B = Point(2, 4)
    v = Vecteur(A, B)
    assert (isinstance(v.etiquette, Label_vecteur))
    assert (v.x == 1 and v.y == 2)
    assertEqual(v.norme, sqrt(5))
    assertEqual(type(v.coordonnees), tuple)
    # Test du typage dynamique :
    assert (isinstance(Vecteur(1, 3), Vecteur_libre))
    assert (Vecteur(1, 3).coordonnees == (1, 3))
Exemplo n.º 5
0
def test_Point_translation():
    u = Vecteur_libre(1.56, 2.78)
    v = Vecteur(Point(1.1457, 2.7895), Point(2.458, -8.25))
    A = Point(5.256, -7.231)
    tu = Translation(u)
    tv = Translation(v)
    Au = Point_translation(A, tu)
    Av = Point_translation(A, tv)
    assertAlmostEqual(Au.coordonnees, (6.816, -4.451))
    assertAlmostEqual(Av.coordonnees, (6.5683, -18.2705))
Exemplo n.º 6
0
def test_Representant():
    A = Point(1, 2)
    B = Point(2, 4)
    v = Vecteur(A, B)
    w = Representant(v, B)
    assert (w.x == v.x and w.y == v.y and w.z == v.z)
    assert (w.origine == v.point2)
    assertEqual(type(w.coordonnees), tuple)
    assertAlmostEqual(w.extremite.coordonnees, (3, 6))
    assert (w._hierarchie < w.extremite._hierarchie < w._hierarchie + 1)
Exemplo n.º 7
0
def test_noms_latex():
    f = Feuille()
    f.objets.A = Point()
    assert(f.objets.A.nom == "A")
    assert(f.objets.A.nom_latex == "$A$")
    f.objets.B1 = Point()
    assert(f.objets.B1.nom == "B1")
    assert(f.objets.B1.nom_latex == "$B_{1}$")
    f.objets.C17 = Point()
    assert(f.objets.C17.nom == "C17")
    assert(f.objets.C17.nom_latex == "$C_{17}$")
    f.objets.objet5 = Point()
    assert(f.objets.objet5.nom == "objet5")
    assert(f.objets.objet5.nom_latex == "$objet_{5}$")
    f.objets.Delta = Point()
    assert(f.objets.Delta.nom == "Delta")
    assert(f.objets.Delta.nom_latex == "$\\Delta$")
    f.objets.delta = Point()
    assert(f.objets.delta.nom == "delta")
    assert(f.objets.delta.nom_latex == "$\\delta$")
    f.objets.phi15 = Point()
    assert(f.objets.phi15.nom == "phi15")
    assert(f.objets.phi15.nom_latex == "$\\phi_{15}$")
    f.objets.A_prime_prime = Point()
    assert(f.objets.A_prime_prime.nom == "A_prime_prime")
    assert(f.objets.A_prime_prime.nom_latex == "$A''$")
    f.objets["A'B'"] = Point()
    assert(f.objets.A_primeB_prime.nom == "A_primeB_prime")
    assert(f.objets.A_primeB_prime.nom_latex == "$A'B'$")
    f.objets.A_prime71 = Point()
    assert(f.objets.A_prime71.nom == "A_prime71")
    assert(f.objets.A_prime71.nom_latex == "$A'_{71}$")
    f.objets.A17B22 = Point()
    assert(f.objets.A17B22.nom == "A17B22")
    assert(f.objets.A17B22.nom_latex == "$A_{17}B_{22}$")

    f.objets.C_prime = Cercle()
    assert(f.objets.C_prime.nom_latex == "$\\mathscr{C}'$")
    f.objets.u = Vecteur()
    assert(f.objets.u.nom_latex == "$\\vec u$")
    f.objets.u_prime = Vecteur()
    assert(f.objets.u_prime.nom_latex == "$\\overrightarrow{u'}$")
Exemplo n.º 8
0
def test_Somme_vecteurs():
    A = Point(1, 2)
    B = Point(2, 4)
    v = Vecteur(A, B)
    w = Vecteur_libre(-4, 5)
    u = Representant(v, Point(1, 2))
    vec = 2 * u + 1 * v
    vec -= 5 * w
    assert (tuple(vec.coordonnees) == (23, -19))
    assertEqual(type(vec.coordonnees), tuple)
    assertEqual(vec.coordonnees,
                Somme_vecteurs((u, v, w), (2, 1, -5)).coordonnees)
Exemplo n.º 9
0
def test_redefinir():
    f = Feuille()
    A = f.objets.A = Point()
    B = f.objets.B = Point()
    f.objets.AB = Segment(A, B)
    f.objets.AB.redefinir('Vecteur(A, B)')
    assert isinstance(f.objets.AB, Vecteur)
    assert f.objets.AB == Vecteur(A, B)
    f.objets.txt = Texte('Hello', 2, 3)
    f.objets.txt.redefinir("Texte('Bonjour', 1, 4)")
    assert isinstance(f.objets.txt, Texte)
    assert f.objets.txt.texte == 'Bonjour'
    assert f.objets.txt.coordonnees == (1, 4)