package test.model; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.Arrays; import main.java.model.*; import org.junit.Test; public class DiagonalMatrixTest { @Test // Checks to see if a Diagonal Matrix is created properly public void testDiagonalMatrixCreation() { double[] data = {1, 3, 6, 9, 3}; double[][] resultData = { {1.0, 0.0, 0.0, 0.0, 0.0}, {0.0, 3.0, 0.0, 0.0, 0.0}, {0.0, 0.0, 6.0, 0.0, 0.0}, {0.0, 0.0, 0.0, 9.0, 0.0}, {0.0, 0.0, 0.0, 0.0, 3.0}}; final Matrix testMatrix = new DiagonalMatrix("Test", data, null); assertEquals("Created matrix has inaccurate number of rows", testMatrix.getNumRows(), 5); assertEquals("Created matrix has inaccurate number of columns", testMatrix.getNumCols(), 5); assertTrue("Created matrix has inaccurate data", Arrays.deepEquals(testMatrix.getData(), resultData)); } @Test // Checks to see if a Diagonal Matrix is created properly public void testDiagonalMatrixDeterminant() { double[] data = {1, 3, 6, 9, 3}; double resultData = 486; final DiagonalMatrix testMatrix = new DiagonalMatrix("Test", data, null); assertTrue("Determinant calculation gives incorrect result.", testMatrix.determinant() == resultData); } @Test // Checks to see if a Diagonal Matrix is created properly public void testDiagonalMatrixScalarMult() { double[] data = {1, 3, 6, 9, -3}; double[][] resultData = {{-100.2,0,0,0,0},{0,-300.6,0,0,0},{0,0,-601.2,0,0},{0,0,0,-901.8,0},{0,0,0,0,300.6}}; final DiagonalMatrix testMatrix = new DiagonalMatrix("Test", data, null); assertTrue("Scalar multiplication calculation gives incorrect result.", Arrays.deepEquals(testMatrix.multiplyScalar(-100.2).normalise().getData(), resultData)); } }