Files
spring-soap/libraries-2/src/test/java/com/baeldung/ejml/SimpleMatrixUnitTest.java
2019-06-21 07:46:49 +02:00

48 lines
1.4 KiB
Java

package com.baeldung.ejml;
import org.ejml.simple.SimpleMatrix;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
class SimpleMatrixUnitTest {
@Test
void givenTwoMatrices_whenMultiply_thenMultiplicatedMatrix() {
SimpleMatrix firstMatrix = new SimpleMatrix(
new double[][] {
new double[] {1d, 5d},
new double[] {2d, 3d},
new double[] {1d ,7d}
}
);
SimpleMatrix secondMatrix = new SimpleMatrix(
new double[][] {
new double[] {1d, 2d, 3d, 7d},
new double[] {5d, 2d, 8d, 1d}
}
);
SimpleMatrix expected = new SimpleMatrix(
new double[][] {
new double[] {26d, 12d, 43d, 12d},
new double[] {17d, 10d, 30d, 17d},
new double[] {36d, 16d, 59d, 14d}
}
);
SimpleMatrix actual = firstMatrix.mult(secondMatrix);
assertThat(actual.numRows()).isEqualTo(expected.numRows());
assertThat(actual.numCols()).isEqualTo(expected.numCols());
for (int row = 0; row < actual.numRows(); row++) {
for (int col = 0; col < actual.numCols(); col++) {
assertThat(actual.get(row, col))
.describedAs("Cells at [%d, %d] don't match", row, col)
.isEqualTo(expected.get(row, col));
}
}
}
}