Add tests for merge sort (#3715)
This commit is contained in:
parent
3542f1c4c1
commit
9e7456a2a8
@ -0,0 +1,20 @@
|
||||
package com.thealgorithms.strings;
|
||||
|
||||
/**
|
||||
* Reverse String using Recursion
|
||||
*/
|
||||
|
||||
public class ReverseStringRecursive {
|
||||
/**
|
||||
* @param str string to be reversed
|
||||
* @return reversed string
|
||||
*/
|
||||
public static String reverse(String str)
|
||||
{
|
||||
if(str.isEmpty()){
|
||||
return str;
|
||||
} else {
|
||||
return reverse(str.substring(1))+str.charAt(0);
|
||||
}
|
||||
}
|
||||
}
|
83
src/test/java/com/thealgorithms/sorts/MergeSortTest.java
Normal file
83
src/test/java/com/thealgorithms/sorts/MergeSortTest.java
Normal file
@ -0,0 +1,83 @@
|
||||
package com.thealgorithms.sorts;
|
||||
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||
|
||||
public class MergeSortTest {
|
||||
|
||||
private static MergeSort mergeSort= new MergeSort();
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenEmptyArrayIsPassed() {
|
||||
Integer [] array = new Integer[]{};
|
||||
Integer [] expected = new Integer[]{};
|
||||
|
||||
Integer []sorted = mergeSort.sort(array);
|
||||
|
||||
assertArrayEquals(expected, sorted);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenSingleValuedArrayIsPassed() {
|
||||
Integer [] array = new Integer[]{2};
|
||||
Integer [] expected = new Integer[]{2};
|
||||
|
||||
Integer [] sorted = mergeSort.sort(array);
|
||||
|
||||
assertArrayEquals(expected, sorted);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenArrayWithAllPositiveValuesIsPassed() {
|
||||
Integer [] array = new Integer[]{60, 7, 55, 9, 999, 3};
|
||||
Integer [] expected = new Integer[]{3, 7, 9, 55, 60, 999};
|
||||
|
||||
Integer [] sorted = mergeSort.sort(array);
|
||||
|
||||
assertArrayEquals(expected, sorted);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenArrayWithAllNegativeValuesIsPassed() {
|
||||
Integer [] array = new Integer[]{-60, -7, -55, -9, -999, -3};
|
||||
Integer [] expected = new Integer[]{-999, -60, -55, -9, -7, -3};
|
||||
|
||||
Integer [] sorted = mergeSort.sort(array);
|
||||
|
||||
assertArrayEquals(expected, sorted);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenArrayWithRealNumberValuesIsPassed() {
|
||||
Integer [] array = new Integer[]{60, -7, 55, 9, -999, -3};
|
||||
Integer [] expected = new Integer[]{-999, -7, -3, 9, 55, 60};
|
||||
|
||||
Integer [] sorted = mergeSort.sort(array);
|
||||
|
||||
assertArrayEquals(expected, sorted);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenArrayWithDuplicateValueIsPassed() {
|
||||
Integer [] array = new Integer[]{60, 7, 55, 55, 999, 3};
|
||||
Integer [] expected = new Integer[]{3, 7, 55, 55, 60, 999};
|
||||
|
||||
Integer [] sorted = mergeSort.sort(array);
|
||||
|
||||
assertArrayEquals(expected, sorted);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenStringValueArrayIsPassed() {
|
||||
String[] array = {"z", "a", "x", "b", "y"};
|
||||
String[] expected = {"a", "b", "x", "y", "z"};
|
||||
|
||||
String[] sorted = mergeSort.sort(array);
|
||||
|
||||
assertArrayEquals(expected, sorted);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package com.thealgorithms.strings;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
public class ReverseStringRecursiveTest {
|
||||
ReverseStringRecursive stringRecursive = new ReverseStringRecursive();
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenEmptyStringIsPassed() {
|
||||
String expected = "";
|
||||
String reversed = stringRecursive.reverse("");
|
||||
|
||||
assertEquals(expected,reversed);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAcceptNotWhenWhenSingleCharacterIsPassed() {
|
||||
String expected = "a";
|
||||
String reversed = stringRecursive.reverse("a");
|
||||
|
||||
assertEquals(expected,reversed);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAcceptWhenStringIsPassed() {
|
||||
String expected = "dlroWolleH";
|
||||
String reversed = stringRecursive.reverse("HelloWorld");
|
||||
|
||||
assertEquals(expected,reversed);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user