def test_multiplying_big_matrixes(self): #this only tests speed and not correctness matrix1 = Matrix(20, 20) matrix2 = Matrix(20, 20) for i in range(1, matrix1.rowCount + 1): matrix2.setColumn(i, [random.randint(0, 5000) for i in range(20)]) matrix1.setColumn(i, [random.randint(0, 5000) for i in range(20)]) matrix1 * matrix2
def test_adding_columns(self): columns = 2 rows = 3 matrix = Matrix(rows, columns) self.assertRaises(ValueError, matrix.setColumn, 1, [1, 2, 3, 4]) matrix.setColumn(1, [1, 2, 3]) matrix.setColumn(2, [4, 5, 6]) self.assertEqual(matrix.matrix, [[1, 4], [2, 5], [3, 6]]) self.assertEqual(matrix.getColumn(1), [1, 2, 3])
def test_multiplying_matrixes_with_floats(self): matrix1 = Matrix(2, 3) matrix1.setRow(1, [3.5, 2, 1]) matrix1.setRow(2, [1, 0, 2.5]) matrix2 = Matrix(3, 2) matrix2.setColumn(1, [0.5, 0, 4]) matrix2.setColumn(2, [2, 1.375, 0]) correctMultipliedMatrix = Matrix(2, 2) correctMultipliedMatrix.setRow(1, [5.75, 9.75]) correctMultipliedMatrix.setRow(2, [10.5, 2]) multipliedMatrix = matrix1 * matrix2 self.assertEqual(multipliedMatrix.matrix, correctMultipliedMatrix.matrix)
def test_multiplying_matrixes(self): matrix1 = Matrix(2, 3) matrix1.setRow(1, [3, 2, 1]) matrix1.setRow(2, [1, 0, 2]) matrix2 = Matrix(3, 2) matrix2.setColumn(1, [1, 0, 4]) matrix2.setColumn(2, [2, 1, 0]) matrixWithWrongDimension = Matrix(5, 6) with self.assertRaises(TypeError): matrix2 * matrixWithWrongDimension correctMultipliedMatrix = Matrix(2, 2) correctMultipliedMatrix.setRow(1, [7, 8]) correctMultipliedMatrix.setRow(2, [9, 2]) multipliedMatrix = matrix1 * matrix2 self.assertEqual(multipliedMatrix.matrix, correctMultipliedMatrix.matrix)