Refactor files to be in correctly nested packages (#6120)

This commit is contained in:
varada610
2025-01-10 23:17:40 -08:00
committed by GitHub
parent a9633c0000
commit 1e6ed97fcf
13 changed files with 75 additions and 77 deletions

View File

@@ -1,28 +0,0 @@
package com.thealgorithms.misc;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import java.util.stream.Stream;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
class InverseOfMatrixTest {
@ParameterizedTest
@MethodSource("provideTestCases")
void testInvert(double[][] matrix, double[][] expectedInverse) {
double[][] result = InverseOfMatrix.invert(matrix);
assertMatrixEquals(expectedInverse, result);
}
private static Stream<Arguments> provideTestCases() {
return Stream.of(Arguments.of(new double[][] {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}, new double[][] {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}), Arguments.of(new double[][] {{4, 7}, {2, 6}}, new double[][] {{0.6, -0.7}, {-0.2, 0.4}}));
}
private void assertMatrixEquals(double[][] expected, double[][] actual) {
for (int i = 0; i < expected.length; i++) {
assertArrayEquals(expected[i], actual[i], 1.0E-10, "Row " + i + " is not equal");
}
}
}

View File

@@ -1,33 +0,0 @@
package com.thealgorithms.misc;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.util.stream.Stream;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
public class MatrixTransposeTest {
private static Stream<Arguments> provideValidMatrixTestCases() {
return Stream.of(Arguments.of(new int[][] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, new int[][] {{1, 4, 7}, {2, 5, 8}, {3, 6, 9}}, "Transpose of square matrix"), Arguments.of(new int[][] {{1, 2}, {3, 4}, {5, 6}}, new int[][] {{1, 3, 5}, {2, 4, 6}}, "Transpose of rectangular matrix"),
Arguments.of(new int[][] {{1, 2, 3}}, new int[][] {{1}, {2}, {3}}, "Transpose of single-row matrix"), Arguments.of(new int[][] {{1}, {2}, {3}}, new int[][] {{1, 2, 3}}, "Transpose of single-column matrix"));
}
private static Stream<Arguments> provideInvalidMatrixTestCases() {
return Stream.of(Arguments.of(new int[0][0], "Empty matrix should throw IllegalArgumentException"), Arguments.of(null, "Null matrix should throw IllegalArgumentException"));
}
@ParameterizedTest(name = "Test case {index}: {2}")
@MethodSource("provideValidMatrixTestCases")
void testValidMatrixTranspose(int[][] input, int[][] expected, String description) {
assertArrayEquals(expected, MatrixTranspose.transpose(input), description);
}
@ParameterizedTest(name = "Test case {index}: {1}")
@MethodSource("provideInvalidMatrixTestCases")
void testInvalidMatrixTranspose(int[][] input, String description) {
assertThrows(IllegalArgumentException.class, () -> MatrixTranspose.transpose(input), description);
}
}

View File

@@ -1,34 +0,0 @@
package com.thealgorithms.misc;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.junit.jupiter.api.Test;
public class MedianOfMatrixTest {
@Test
public void testMedianWithOddNumberOfElements() {
List<List<Integer>> matrix = new ArrayList<>();
matrix.add(Arrays.asList(1, 3, 5));
matrix.add(Arrays.asList(2, 4, 6));
matrix.add(Arrays.asList(7, 8, 9));
int result = MedianOfMatrix.median(matrix);
assertEquals(5, result);
}
@Test
public void testMedianWithEvenNumberOfElements() {
List<List<Integer>> matrix = new ArrayList<>();
matrix.add(Arrays.asList(2, 4));
matrix.add(Arrays.asList(1, 3));
int result = MedianOfMatrix.median(matrix);
assertEquals(2, result);
}
}

View File

@@ -1,53 +0,0 @@
package com.thealgorithms.misc;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import org.junit.jupiter.api.Test;
class MirrorOfMatrixTest {
@Test
void testMirrorMatrixRegularMatrix() {
int[][] originalMatrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[][] expectedMirrorMatrix = {{3, 2, 1}, {6, 5, 4}, {9, 8, 7}};
int[][] mirroredMatrix = MirrorOfMatrix.mirrorMatrix(originalMatrix);
assertArrayEquals(expectedMirrorMatrix, mirroredMatrix);
}
@Test
void testMirrorMatrixEmptyMatrix() {
int[][] originalMatrix = {};
int[][] expectedMirrorMatrix = {};
int[][] mirroredMatrix = MirrorOfMatrix.mirrorMatrix(originalMatrix);
assertArrayEquals(expectedMirrorMatrix, mirroredMatrix);
}
@Test
void testMirrorMatrixSingleElementMatrix() {
int[][] originalMatrix = {{42}};
int[][] expectedMirrorMatrix = {{42}};
int[][] mirroredMatrix = MirrorOfMatrix.mirrorMatrix(originalMatrix);
assertArrayEquals(expectedMirrorMatrix, mirroredMatrix);
}
@Test
void testMirrorMatrixMultipleRowsOneColumnMatrix() {
int[][] originalMatrix = {{1}, {2}, {3}, {4}};
int[][] expectedMirrorMatrix = {{1}, {2}, {3}, {4}};
int[][] mirroredMatrix = MirrorOfMatrix.mirrorMatrix(originalMatrix);
assertArrayEquals(expectedMirrorMatrix, mirroredMatrix);
}
@Test
void testMirrorMatrixNullInput() {
int[][] originalMatrix = null;
assertNull(MirrorOfMatrix.mirrorMatrix(originalMatrix));
}
@Test
void testMirrotMarixThrows() {
assertThrows(IllegalArgumentException.class, () -> MirrorOfMatrix.mirrorMatrix(new int[][] {{1}, {2, 3}}));
}
}