Add BubbleSort unit tests (#3275)

This commit is contained in:
Aitor Fidalgo Sánchez 2022-09-19 19:23:08 +02:00 committed by GitHub
parent 276bbe2530
commit a2dd154ad6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 24 deletions

View File

@ -32,28 +32,4 @@ class BubbleSort implements SortAlgorithm {
}
return array;
}
/**
* Driver Code
*/
public static void main(String[] args) {
Integer[] integers = {4, 23, 6, 78, 1, 54, 231, 9, 12};
BubbleSort bubbleSort = new BubbleSort();
bubbleSort.sort(integers);
for (int i = 0; i < integers.length - 1; ++i) {
assert integers[i] <= integers[i + 1];
}
print(integers);
/* output: [1, 4, 6, 9, 12, 23, 54, 78, 231] */
String[] strings = {"c", "a", "e", "b", "d"};
bubbleSort.sort(strings);
for (int i = 0; i < strings.length - 1; i++) {
assert strings[i].compareTo(strings[i + 1]) <= 0;
}
print(bubbleSort.sort(strings));
/* output: [a, b, c, d, e] */
}
}

View File

@ -0,0 +1,53 @@
package com.thealgorithms.sorts;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import org.junit.jupiter.api.Test;
/**
* @author Aitor Fidalgo (https://github.com/aitorfi)
* @see BubbleSort
*/
public class BubbleSortTest {
private BubbleSort bubbleSort = new BubbleSort();
@Test
public void bubbleSortEmptyArray() {
Integer[] inputArray = {};
Integer[] outputArray = bubbleSort.sort(inputArray);
Integer[] expectedOutput = {};
assertArrayEquals(outputArray, expectedOutput);
}
@Test
public void bubbleSortSingleIntegerElementArray() {
Integer[] inputArray = {4};
Integer[] outputArray = bubbleSort.sort(inputArray);
Integer[] expectedOutput = {4};
assertArrayEquals(outputArray, expectedOutput);
}
@Test
public void bubbleSortSingleStringElementArray() {
String[] inputArray = {"s"};
String[] outputArray = bubbleSort.sort(inputArray);
String[] expectedOutput = {"s"};
assertArrayEquals(outputArray, expectedOutput);
}
@Test
public void bubbleSortIntegerArray() {
Integer[] inputArray = {4, 23, -6, 78, 1, 54, 23, -6, -231, 9, 12};
Integer[] outputArray = bubbleSort.sort(inputArray);
Integer[] expectedOutput = {-231, -6, -6, 1, 4, 9, 12, 23, 23, 54, 78};
assertArrayEquals(outputArray, expectedOutput);
}
@Test
public void bubbleSortStringArray() {
String[] inputArray = {"cbf", "auk", "ó", "(b", "a", ")", "au", "á", "cba", "auk", "(a", "bhy", "cba"};
String[] outputArray = bubbleSort.sort(inputArray);
String[] expectedOutput = {"(a", "(b", ")", "a", "au", "auk", "auk", "bhy", "cba", "cba", "cbf", "á", "ó"};
assertArrayEquals(outputArray, expectedOutput);
}
}