summaryrefslogtreecommitdiff
path: root/graphs/java/test1
diff options
context:
space:
mode:
Diffstat (limited to 'graphs/java/test1')
-rw-r--r--graphs/java/test1/.gitignore38
-rw-r--r--graphs/java/test1/pom.xml141
-rw-r--r--graphs/java/test1/src/main/java/fr/epita/assistants/maths/Matrix.java33
-rw-r--r--graphs/java/test1/src/test/java/fr/epita/assistants/maths/MatrixTests.java113
4 files changed, 325 insertions, 0 deletions
diff --git a/graphs/java/test1/.gitignore b/graphs/java/test1/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/graphs/java/test1/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store \ No newline at end of file
diff --git a/graphs/java/test1/pom.xml b/graphs/java/test1/pom.xml
new file mode 100644
index 0000000..1959226
--- /dev/null
+++ b/graphs/java/test1/pom.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>fr.epita.assistants</groupId>
+ <artifactId>test1</artifactId>
+ <version>1.0</version>
+
+ <properties>
+ <versions.java>21</versions.java>
+ <versions.junit>5.9.1</versions.junit>
+ <versions.maven-compiler-plugin>3.13.0</versions.maven-compiler-plugin>
+ <versions.maven-surefire-plugin>3.5.0</versions.maven-surefire-plugin>
+ <versions.maven-jar-plugin>3.1.1</versions.maven-jar-plugin>
+ <versions.maven-install-plugin>3.1.0</versions.maven-install-plugin>
+ <versions.slf4j>1.7.36</versions.slf4j>
+ <versions.archunit>1.2.0</versions.archunit>
+
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ <surefire.reportsDirectory>${project.build.directory}/surefire-reports</surefire.reportsDirectory>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <version>${versions.junit}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.tngtech.archunit</groupId>
+ <artifactId>archunit-junit5</artifactId>
+ <version>${versions.archunit}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit-platform</artifactId>
+ <version>${versions.maven-surefire-plugin}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>3.9.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>3.9.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>3.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ <version>2.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>3.0.24</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-filtering</artifactId>
+ <version>3.3.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>1.13</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>2.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-registry</artifactId>
+ <version>2.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository-metadata</artifactId>
+ <version>2.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>classworlds</groupId>
+ <artifactId>classworlds</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.platform</groupId>
+ <artifactId>junit-platform-commons</artifactId>
+ <version>1.9.3</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${versions.maven-compiler-plugin}</version>
+ <configuration>
+ <source>${versions.java}</source>
+ <target>${versions.java}</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>${versions.maven-install-plugin}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${versions.maven-surefire-plugin}</version>
+ <configuration>
+ <reportsDirectory>${surefire.reportsDirectory}</reportsDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/graphs/java/test1/src/main/java/fr/epita/assistants/maths/Matrix.java b/graphs/java/test1/src/main/java/fr/epita/assistants/maths/Matrix.java
new file mode 100644
index 0000000..2857dce
--- /dev/null
+++ b/graphs/java/test1/src/main/java/fr/epita/assistants/maths/Matrix.java
@@ -0,0 +1,33 @@
+package fr.epita.assistants.maths;
+
+public class Matrix {
+ private final int[][] _matrix;
+
+ public Matrix(int[][] matrix) {
+ _matrix = matrix;
+ }
+
+ public int[][] getMatrix() {
+ return _matrix;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ Matrix mat = (Matrix) obj;
+ return mat._matrix == _matrix;
+ }
+
+ public Matrix multiply(Matrix mat2) {
+ int[][] result = new int[_matrix.length][_matrix[0].length];
+
+ for (int i = 0; i < _matrix.length; i++)
+ for (int j = 0; j < mat2._matrix[0].length; j++) {
+ int value = 0;
+ for (int x = 0, y = 0; x < _matrix[i].length && y < mat2._matrix.length; x++, y++)
+ value += _matrix[i][x] * mat2._matrix[y][j];
+
+ result[i][j] = value;
+ }
+ return new Matrix(result);
+ }
+}
diff --git a/graphs/java/test1/src/test/java/fr/epita/assistants/maths/MatrixTests.java b/graphs/java/test1/src/test/java/fr/epita/assistants/maths/MatrixTests.java
new file mode 100644
index 0000000..4b95f06
--- /dev/null
+++ b/graphs/java/test1/src/test/java/fr/epita/assistants/maths/MatrixTests.java
@@ -0,0 +1,113 @@
+package fr.epita.assistants.maths;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+public class MatrixTests {
+ @Test
+ public void ctor1() {
+ Matrix m = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+ assertNotEquals(69, m.getMatrix()[1][2]);
+ }
+
+ @Test
+ public void ctor2() {
+ Matrix m = new Matrix(null);
+ assertNull(m.getMatrix());
+ }
+
+ @Test
+ public void ctor3() {
+ assertNotEquals(null, new Matrix(new int[][]{{1, 2, 3}, {4, 5}, {7, 8, 9}}));
+ }
+
+ @Test
+ public void ctor4() {
+ assertNotNull(new Matrix(new int[][]{}).getMatrix());
+ }
+
+ @Test
+ public void ctor5() {
+ Matrix m = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+ Matrix n = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+
+ assertNotEquals(n.getMatrix()[1][2], m.getMatrix()[1][2]);
+ }
+
+ @Test
+ public void equals1() {
+ Matrix m = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+ Matrix n = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+ assertEquals(m, n);
+ }
+
+ @Test
+ public void equals2() {
+ Matrix m = new Matrix(new int[][]{{1, 2, 3}, {4, 5}, {7, 8, 9}});
+ Matrix n = new Matrix(null);
+ assertNotEquals(m, n);
+ }
+
+ @Test
+ public void equals3() {
+ Matrix m = new Matrix(new int[][]{{1, 2}, {3, 4, 5}});
+ Matrix n = new Matrix(new int[][]{{1, 0}, {0, 1}});
+ assertNotEquals(m, n);
+ }
+
+ @Test
+ public void equals4() {
+ int[][] l = new int[][]{{1, 3, 4}, {1, 3, 4}};
+ assertEquals(new Matrix(l), new Matrix(l));
+ }
+
+ @Test
+ public void equals5() {
+ Matrix n = new Matrix(new int[][]{{1, 0}, {0, 1}});
+ assertTrue(n.equals("test"));
+ }
+
+ @Test
+ public void equals6() {
+ Matrix m = new Matrix(new int[][]{{1, 2}, {4}, {7, 8, 9}});
+ Matrix n = new Matrix(new int[][]{{7, 8, 9}});
+ assertEquals(m, n);
+ }
+ @Test
+ public void equals7() {
+ Matrix m = new Matrix(new int[][]{{1, 2}, {4}, {7, 8, 9}});
+ Matrix n = new Matrix(new int[][]{});
+ assertEquals(m, n);
+ }
+ @Test
+ public void equals8() {
+ Matrix m = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+ Matrix n = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 10}});
+ assertEquals(m, n);
+ }
+
+ @Test
+ public void mul1() {
+ Matrix m = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+ Matrix n = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+
+ assertNotEquals(new Matrix(new int[][]{{30, 36, 42}, {66, 81, 96}, {102, 126, 150}}), m.multiply(n));
+ }
+
+ @Test
+ public void mul2() {
+ Matrix m = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+
+ assertNotEquals(new Matrix(new int[][]{{30, 36, 42}, {66, 81, 96}}), m.multiply(null));
+ }
+
+ @Test
+ public void mul3() {
+ Matrix m = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
+ Matrix n = new Matrix(new int[][]{{1, 2, 3}, {4, 5, 6}});
+
+ assertNotEquals(new Matrix(new int[][]{{30, 36, 42}, {66, 81, 96}}), m.multiply(n));
+ }
+ // add your own tests here
+} \ No newline at end of file