def test_scalar1_EvenMatrix(): """ Testing scalar multiplication with float and EvenMatrix. All values of matrix equal except one specialValue to provide some heterogeneity - Dimension of result shall be same - resulting matrix get multiplied with scalar value """ defaultValue = 1.1 # default cell value specialValue = 3.3 # special cell value specialCell = [12, 13] # special cell scalar = 0.7 # scalar factor matrix1 = EvenMatrix(44, defaultValue) matrix1.setValue(specialCell[0], specialCell[1], specialValue) result = Multiplication().operate(scalar, matrix1) assert result.getDimension() == matrix1.getDimension(), ( "resultDimension {0} unequal matrix1Dimension {1}".format(result.getDimension(), matrix1.getDimension())) for row in range(result.rowCount): for col in range(result.columnCount): if row == specialCell[0] and col == specialCell[1]: assert isCorrect(result.data[row][col], scalar * specialValue, TOLERANCE), ( "row {0} column {1}".format(row, col)) else: assert isCorrect(result.data[row][col], scalar * defaultValue, TOLERANCE), ( "row {0} column {1}".format(row, col))
def test_scalar3(): """ Testing scalar multiplication with multiple scalar factors - Dimension of result shall be same - resulting matrix get multiplied with scalar value """ defaultValue = 7 # default cell value specialValue = 10 # special cell value specialCell = [2, 3] # special cell scalar1 = 3 # scalar factor1 scalar2 = 3.2 # scalar factor2 matrix1 = EvenMatrix(4, defaultValue) matrix1.setValue(specialCell[0], specialCell[1], specialValue) result = Multiplication().operate(scalar2, Multiplication().operate(scalar1, matrix1)) assert result.getDimension() == matrix1.getDimension(), ( "resultDimension {0} unequal matrix1Dimension {1}".format(result.getDimension(), matrix1.getDimension())) for row in range(result.rowCount): for col in range(result.columnCount): if row == specialCell[0] and col == specialCell[1]: assert isCorrect(result.data[row][col], scalar1 * scalar2 * specialValue, TOLERANCE), ( "row {0} column {1}") else: assert isCorrect(result.data[row][col], scalar1 * scalar2 * defaultValue, TOLERANCE), ( "row {0} column {1}")