Example #1
0
def test_operations():
    for i in xrange(10):
        a = randint(50) - randint(50)
        b = randint(50) - randint(50)
        if i >= 5:
            a += random()
            b += random()
        u = Variable(a)
        v = Variable(b)
        # Test opérations :
        if i < 5:
            assertEqual(u + v, a + b)
            assertEqual(u - v, a - b)
            assertEqual(u * v, a * b)
            if a != 0:
                assertEqual(u**v, a**b)
            if b != 0:
                assertEqual(u / v, a / b)
                assertEqual(u // v, a // b)
                assertEqual(u % v, a % b)
        else:
            assertAlmostEqual(u + v, a + b)
            assertAlmostEqual(u - v, a - b)
            assertAlmostEqual(u * v, a * b)
            if a != 0:
                assertAlmostEqual(abs(u)**v, abs(a)**b)
    # Test assignations :
        u += v
        a += b
        assertEqual(u, a)
        u *= v
        a *= b
        assertEqual(u, a)
Example #2
0
def test_Point_reflexion():
    d = Droite_equation(1, 6, -2)
    r = Reflexion(d)
    M = Point(random() + randint(50) - randint(50),
              random() + randint(50) - randint(50))
    m = Mediatrice(M, Point_reflexion(M, r))
    assertAlmostEqual(d.equation_reduite, m.equation_reduite)
Example #3
0
def test_operations():
    for i in range(10):
        a = randint(50) - randint(50)
        b = randint(50) - randint(50)
        if i >= 5:
            a += random()
            b += random()
        u = Variable(a)
        v = Variable(b)
        # Test opérations :
        if i < 5:
            assertEqual(u.val+v.val, a+b)
            assertEqual(u.val-v.val, a-b)
            assertEqual(u.val*v.val, a*b)
            if a !=0:
                assertEqual(u.val**v.val, a**b)
            if  b != 0:
                assertEqual(u.val/v.val, a/b)
                assertEqual(u.val//v.val, a//b)
                assertEqual(u.val%v.val, a%b)
        else:
            assertAlmostEqual(u.val+v.val, a+b)
            assertAlmostEqual(u.val-v.val, a-b)
            assertAlmostEqual(u.val*v.val, a*b)
            if a != 0:
                assertAlmostEqual(abs(u.val)**v.val, abs(a)**b)
       # Test assignations :
        u.val += v.val
        a += b
        assertEqual(u.val, a)
        u.val *= v.val
        a *= b
        assertEqual(u.val, a)
Example #4
0
def test_operations():
    for i in xrange(10):
        a = randint(50) - randint(50)
        b = randint(50) - randint(50)
        if i >= 5:
            a += random()
            b += random()
        u = Variable(a)
        v = Variable(b)
        # Test opérations :
        if i < 5:
            assertEqual(u+v, a+b)
            assertEqual(u-v, a-b)
            assertEqual(u*v, a*b)
            if a !=0:
                assertEqual(u**v, a**b)
            if  b != 0:
                assertEqual(u/v, a/b)
                assertEqual(u//v, a//b)
                assertEqual(u%v, a%b)
        else:
            assertAlmostEqual(u+v, a+b)
            assertAlmostEqual(u-v, a-b)
            assertAlmostEqual(u*v, a*b)
            if a != 0:
                assertAlmostEqual(abs(u)**v, abs(a)**b)
       # Test assignations :
        u += v
        a += b
        assertEqual(u, a)
        u *= v
        a *= b
        assertEqual(u, a)
Example #5
0
def test_Reflexion():
    d = Droite_equation(1, 6, -2)
    r = Reflexion(d)
    M = Point(random()+randint(50)-randint(50), random()+randint(50)-randint(50))
    m = Mediatrice(M,  r(M))
    assertAlmostEqual(d.equation_reduite,  m.equation_reduite)
    assert(r(d) is d)
Example #6
0
def test_erreurs_mathematiques():
    u = Variable(randint(50) - randint(50)+random())
    def diviser(x,  y):
        return x/y
    assertRaises(ZeroDivisionError,  diviser,  u.val,  0)
    def puissance(x,  y):
        return x**y
    assertRaises(OverflowError,  puissance,  Variable(25.17).val,  10000)
Example #7
0
def test_Projete_cercle():
    c = Cercle_equation(1, -2, -20)
    assert(c.existe)
    A = Point(randint(50) - randint(50) + random(), randint(50) - randint(50) + random())
    P = Projete_cercle(A, c)
    assert(P.existe)
    assert(P in c)
    assert(P in Demidroite(c.centre, A))
    A.coordonnees = c.centre.coordonnees
    assert(not P.existe)
Example #8
0
def test_Projete_cercle():
    c = Cercle_equation(1, -2, -20)
    assert (c.existe)
    A = Point(
        randint(50) - randint(50) + random(),
        randint(50) - randint(50) + random())
    P = Projete_cercle(A, c)
    assert (P.existe)
    assert (P in c)
    assert (P in Demidroite(c.centre, A))
    A.coordonnees = c.centre.coordonnees
    assert (not P.existe)
Example #9
0
def test_erreurs_mathematiques():
    u = Variable(randint(50) - randint(50) + random())

    def diviser(x, y):
        return x / y

    assertRaises(ZeroDivisionError, diviser, u, 0)

    def puissance(x, y):
        return x**y

    assertRaises(OverflowError, puissance, Variable(25.17), 10000)
Example #10
0
def test_Droite_equation():
    a = randint(50) - randint(50) + 0.1  # afin que a ne soit pas nul
    b = randint(50) - randint(50) + random()
    c = randint(50) - randint(50) + random()
    d, e, f = Droite_equation(a, b, c).equation
    assertAlmostEqual((e / d, f / d), (b / a, c / a))
    assertEqual(Droite_equation(a, 0, 0).equation[1:], (0, 0))
    assertEqual((Droite_equation(0, a, 0).equation[0], Droite_equation(
        0, a, 0).equation[2]), (0, 0))
    assert (not Droite_equation(0, 0, 0).existe)
    d = Droite_equation("y=-5/2x-3/2")
    assert (Point(0, -1.5) in d)
    assert (Point(-1, 1) in d)
    d = Droite_equation("x=2*10**2")
    assert (Point(200, -1000) in d)
    assert (Point(100, -1000) not in d)
    d = Droite_equation("2*x+2*y=1")
    assert (Point(0.5, 0) in d)
    assert (Point(1, -0.5) in d)
    d = Droite_equation("x+y=1")
    assert (Point(0, 1) in d)
    assert (Point(1, 0) in d)
    d = Droite_equation("x+2y=-2")
    assert (Point(0, -1) in d)
    assert (Point(-2, 0) in d)
Example #11
0
def test_Droite_equation():
    a = randint(50) - randint(50) + 0.1  # afin que a ne soit pas nul
    b = randint(50) - randint(50) + random()
    c = randint(50) - randint(50) + random()
    d, e, f = Droite_equation(a, b, c).equation
    assertAlmostEqual((e / d, f / d), (b / a, c / a))
    assertEqual(Droite_equation(a, 0, 0).equation[1:], (0, 0))
    assertEqual((Droite_equation(0, a, 0).equation[0], Droite_equation(
        0, a, 0).equation[2]), (0, 0))
    assert (not Droite_equation(0, 0, 0).existe)
    d = Droite_equation("y=-5/2x-3/2")
    assert (Point(0, -1.5) in d)
    assert (Point(-1, 1) in d)
    d = Droite_equation("x=2*10**2")
    assert (Point(200, -1000) in d)
    assert (Point(100, -1000) not in d)
    d = Droite_equation("2*x+2*y=1")
    assert (Point(0.5, 0) in d)
    assert (Point(1, -0.5) in d)
    d = Droite_equation("x+y=1")
    assert (Point(0, 1) in d)
    assert (Point(1, 0) in d)
    d = Droite_equation("x+2y=-2")
    assert (Point(0, -1) in d)
    assert (Point(-2, 0) in d)
Example #12
0
def test_Polygone_regulier_centre():
    O = rand_pt()
    M = rand_pt()
    p = Polygone_regulier_centre(O, M, 15)
    assert(len(p.cotes) == 15)
    assert(p.centre is O)
    for Mi in p.sommets:
        assertAlmostEqual(Segment(O, Mi).longueur, Segment(O, M).longueur)
    for i in xrange(10):
        coeffs = tuple(random() for i in xrange(15))
        G = Barycentre(*zip(p.sommets, coeffs))
        assert(G in p)
        G.points_ponderes[randint(11)].coefficient = -5
        assert(G not in p)
    # cas particuliers :
    p = Polygone_regulier_centre(O, M, 3)
    assert(isinstance(p,  Triangle))
    p = Polygone_regulier_centre(O, M, 4)
    assert(isinstance(p,  Quadrilatere))
    assert(len(str(p.points)) < 30000)
Example #13
0
def test_Symetrie_centrale():
    M = Point(random()+randint(50)-randint(50), random()+randint(50)-randint(50))
    A = Point(random()+randint(50)-randint(50), random()+randint(50)-randint(50))
    s = Symetrie_centrale(A)
    assertAlmostEqual(Milieu(M, s(M)).coordonnees, A.coordonnees)
    assert(s(A) is A)
Example #14
0
def test_Translation():
    v = Vecteur_libre(random()+randint(50)-randint(50), random()+randint(50)-randint(50))
    t = Translation(v)
    M = Point(random()+randint(50)-randint(50), random()+randint(50)-randint(50))
    assertAlmostEqual(M.x + v.x, t(M).x)
    assertAlmostEqual(M.y + v.y, t(M).y)