Esempio n. 1
0
def test_case_7():
    p0 = Plane(normal_vector=Vector(['1', '1', '1']), constant_term='1')
    p1 = Plane(normal_vector=Vector(['0', '1', '0']), constant_term='2')
    p2 = Plane(normal_vector=Vector(['1', '1', '-1']), constant_term='3')
    p3 = Plane(normal_vector=Vector(['1', '0', '-2']), constant_term='2')
    s = LinearSystem([p0, p1, p2, p3])
    s.swap_rows(0, 1)
    s.swap_rows(1, 3)
    s.swap_rows(3, 1)
    s.multiply_coefficient_and_row(1, 0)
    s.multiply_coefficient_and_row(-2, 2)
    s.multiply_coefficient_and_row(10, 1)
    s.add_multiple_times_row_to_row(0, 0, 1)
    assert (s[0] == p1 and s[1] == Plane(
        normal_vector=Vector(['10', '10', '10']), constant_term='10')
            and s[2] == Plane(normal_vector=Vector(['-1', '-1', '1']),
                              constant_term='-3') and s[3] == p3)
    def test_add_multiple_times_to_row(self):
        p0 = Plane(Vector([0,1,0]), 2)
        p1 = Plane(Vector([10,10,10]), 10)
        p2 = Plane(Vector([-1,-1,1]), -3)
        p3 = Plane(Vector([1,0,-2]), 2)

        s = LinearSystem([p0,p1,p2,p3])

        s.add_multiple_times_row_to_row(0,0,1)
        self.assertEqual(s[0], p0)
        self.assertEqual(s[1], p1)
        self.assertEqual(s[2], p2)
        self.assertEqual(s[3], p3)

        s.add_multiple_times_row_to_row(1,0,1)
        self.assertEqual(s[0], p0)
        self.assertEqual(s[1], Plane(Vector(['10','11','10']), '12'))
        self.assertEqual(s[2], p2)
        self.assertEqual(s[3], p3)
        assertComponentsHaveSameValues(self, s[0], p0)
        assertComponentsHaveSameValues(self, s[1], Plane(Vector(['10','11','10']), '12'))
        assertComponentsHaveSameValues(self, s[2], p2)
        assertComponentsHaveSameValues(self, s[3], p3)

        s.add_multiple_times_row_to_row(-1,1,0)
        self.assertEqual(s[0], Plane(Vector(['-10','-10','-10']), '-10'))
        self.assertEqual(s[1], Plane(Vector(['10','11','10']), '12'))
        self.assertEqual(s[2], p2)
        self.assertEqual(s[3], p3)
        assertComponentsHaveSameValues(self, s[0], Plane(Vector(['-10','-10','-10']), '-10'))
        assertComponentsHaveSameValues(self, s[1], Plane(Vector(['10','11','10']), '12'))
        assertComponentsHaveSameValues(self, s[2], p2)
        assertComponentsHaveSameValues(self, s[3], p3)
    def test_add_multiple_times_to_row(self):

        p0 = Plane(normal_vector=Vector(['0','1','0']), constant_term='2')
        p1 = Plane(normal_vector=Vector(['10','10','10']), constant_term='10')
        p2 = Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3')
        p3 = Plane(normal_vector=Vector(['1','0','-2']), constant_term='2')

        s = LinearSystem([p0,p1,p2,p3])

        s.add_multiple_times_row_to_row(0,0,1)
        self.assertEqual(s[0], p0)
        self.assertEqual(s[1], p1)
        self.assertEqual(s[2], p2)
        self.assertEqual(s[3], p3)

        s.add_multiple_times_row_to_row(1,0,1)
        self.assertEqual(s[0], p0)
        self.assertEqual(s[1], Plane(normal_vector=Vector(['10','11','10']), constant_term='12'), str(s[1]))
        self.assertEqual(s[2], p2)
        self.assertEqual(s[3], p3)

        s.add_multiple_times_row_to_row(-1,1,0)
        self.assertEqual(s[0], Plane(normal_vector=Vector(['-10','-10','-10']), constant_term='-10'), str(s[0]))
        self.assertEqual(s[1], Plane(normal_vector=Vector(['10','11','10']), constant_term='12'), str(s[1]))
        self.assertEqual(s[2], p2)
        self.assertEqual(s[3], p3)
Esempio n. 4
0
def test_linsys_multiply_row_add():
    """Test Linear System Multiply Times Row and add to Row"""
    plane_2 = Plane(Vector([0, 1, 0]), 2)
    new_plane_1 = Plane(Vector([10, 10, 10]), 10)
    new_plane_3 = Plane(Vector([-1, -1, 1]), -3)
    plane_4 = Plane(Vector([1, 0, -2]), 2)

    # same as the end of the last test
    lin_sys = LinearSystem([plane_2, new_plane_1, new_plane_3, plane_4])

    # multiply the first row by 0 and add to the second row
    # this should have no affect
    lin_sys.add_multiple_times_row_to_row(0, 0, 1)

    assert lin_sys[0] == plane_2
    assert lin_sys[1] == new_plane_1
    assert lin_sys[2] == new_plane_3
    assert lin_sys[3] == plane_4

    # multiply the first row by 1 and add it to the second row
    lin_sys.add_multiple_times_row_to_row(1, 0, 1)

    plane_1_added = Plane(Vector([10, 11, 10]), 12)

    assert lin_sys[0] == plane_2
    assert lin_sys[1] == plane_1_added
    assert lin_sys[2] == new_plane_3
    assert lin_sys[3] == plane_4

    # multiply the second row by -1 and add to the first row
    lin_sys.add_multiple_times_row_to_row(-1, 1, 0)

    plane_2_subtracted = Plane(Vector([-10, -10, -10]), -10)

    assert lin_sys[0] == plane_2_subtracted
    assert lin_sys[1] == plane_1_added
    assert lin_sys[2] == new_plane_3
    assert lin_sys[3] == plane_4
Esempio n. 5
0
print s[2].normal_vector == Vector(['-1','-1','1'])
print s[2] == Plane(Vector(['-1','-1','1']),'-3')
if not (s[0] == p1 and
        s[1] == p0 and
        s[2] == Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3') and
        s[3] == p3):
    print 'test case 5 failed'

s.multiply_coefficient_and_row(10,1)
if not (s[0] == p1 and
        s[1] == Plane(normal_vector=Vector(['10','10','10']), constant_term='10') and
        s[2] == Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3') and
        s[3] == p3):
    print 'test case 6 failed'

s.add_multiple_times_row_to_row(0,0,1)
if not (s[0] == p1 and
        s[1] == Plane(normal_vector=Vector(['10','10','10']), constant_term='10') and
        s[2] == Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3') and
        s[3] == p3):
    print 'test case 7 failed'

s.add_multiple_times_row_to_row(1,0,1)
if not (s[0] == p1 and
        s[1] == Plane(normal_vector=Vector(['10','11','10']), constant_term='12') and
        s[2] == Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3') and
        s[3] == p3):
    print 'test case 8 failed'

s.add_multiple_times_row_to_row(-1,1,0)
if not (s[0] == Plane(normal_vector=Vector(['-10','-10','-10']), constant_term='-10') and
    def test_ge_functions(self):

        p0 = Plane(normal_vector=Vector([1, 1, 1]), constant_term=1)
        p1 = Plane(normal_vector=Vector([0, 1, 0]), constant_term=2)
        p2 = Plane(normal_vector=Vector([1, 1, -1]), constant_term=3)
        p3 = Plane(normal_vector=Vector([1, 0, -2]), constant_term=2)

        s = LinearSystem([p0, p1, p2, p3])
        s.swap_rows(0, 1)
        self.assertTrue(s[0] == p1 and s[1] == p0 and s[2] == p2
                        and s[3] == p3)

        s.swap_rows(1, 3)
        self.assertTrue(s[0] == p1 and s[1] == p3 and s[2] == p2
                        and s[3] == p0)

        s.swap_rows(3, 1)
        self.assertTrue(s[0] == p1 and s[1] == p0 and s[2] == p2
                        and s[3] == p3)

        s.multiply_coefficient_and_row(1, 0)
        self.assertTrue(s[0] == p1)
        self.assertTrue(s[1] == p0)
        self.assertTrue(s[2] == p2)
        self.assertTrue(s[3] == p3)

        s.multiply_coefficient_and_row(-1, 2)
        self.assertTrue(s[0] == p1 and s[1] == p0 and s[2] == \
            Plane(normal_vector=Vector([-1,-1,1]), constant_term=-3) \
            and s[3] == p3)

        s.multiply_coefficient_and_row(10, 1)
        self.assertTrue(s[0] == p1 and \
            s[1] == Plane(normal_vector=Vector([10,10,10]),
                          constant_term=10) and
            s[2] == Plane(normal_vector=Vector([-1,-1,1]),
                          constant_term=-3) and
            s[3] == p3)

        s.add_multiple_times_row_to_row(0, 0, 1)
        self.assertTrue(s[0] == p1 and \
            s[1] == Plane(normal_vector=Vector([10,10,10]),
                          constant_term=10) and
            s[2] == Plane(normal_vector=Vector([-1,-1,1]),
                          constant_term=-3) and
            s[3] == p3)

        s.add_multiple_times_row_to_row(1, 0, 1)
        self.assertTrue(s[0] == p1 and \
            s[1] == Plane(normal_vector=Vector([10,11,10]),
                          constant_term=12) and
            s[2] == Plane(normal_vector=Vector([-1,-1,1]),
                          constant_term=-3) and
            s[3] == p3)

        # params coefficient, row_to_add, row_to_be_added_to
        s.add_multiple_times_row_to_row(-1, 1, 0)
        self.assertTrue(s[0] == Plane(normal_vector=Vector([-10, -10, -10]),
                                      constant_term=-10)
                        and s[1] == Plane(normal_vector=Vector([10, 11, 10]),
                                          constant_term=12)
                        and s[2] == Plane(normal_vector=Vector([-1, -1, 1]),
                                          constant_term=-3) and s[3] == p3)
Esempio n. 7
0
        s[2] == Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3') and
        s[3] == p3):
    print('test case 5 failed')
else:
    print('test case 5 passed')

s.multiply_coefficient_and_row(10,1)
if not (s[0] == p1 and
        s[1] == Plane(normal_vector=Vector(['10','10','10']), constant_term='10') and
        s[2] == Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3') and
        s[3] == p3):
    print('test case 6 failed')
else:
    print('test case 6 passed')

s.add_multiple_times_row_to_row(0,0,1)
if not (s[0] == p1 and
        s[1] == Plane(normal_vector=Vector(['10','10','10']), constant_term='10') and
        s[2] == Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3') and
        s[3] == p3):
    print('test case 7 failed')
else:
    print('test case 7 passed')

s.add_multiple_times_row_to_row(1,0,1)
if not (s[0] == p1 and
        s[1] == Plane(normal_vector=Vector(['10','11','10']), constant_term='12') and
        s[2] == Plane(normal_vector=Vector(['-1','-1','1']), constant_term='-3') and
        s[3] == p3):
    print('test case 8 failed: ')
    print(s)