No me parecia bien realmente, no es un projecto opensource al fin y al cabo, por lo que no tiene ningun sentido estar utilizando la licencia MIT.
64 lines
1.7 KiB
Java
64 lines
1.7 KiB
Java
package danielcortes.xyz.utils;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import org.junit.jupiter.api.BeforeAll;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.api.TestInstance;
|
|
|
|
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
|
class NaturalOrderComparatorTest {
|
|
private ArrayList<String> original;
|
|
private ArrayList<String> toCompare;
|
|
private ArrayList<String> lexicographic;
|
|
private ArrayList<String> natural;
|
|
|
|
@BeforeAll
|
|
void setUp(){
|
|
original = new ArrayList<>();
|
|
original.add("1");
|
|
original.add("10");
|
|
original.add("100");
|
|
original.add("3");
|
|
original.add("101");
|
|
original.add("10000");
|
|
original.add("100000");
|
|
|
|
toCompare = new ArrayList<>(original);
|
|
|
|
lexicographic = new ArrayList<>();
|
|
lexicographic.add("1");
|
|
lexicographic.add("10");
|
|
lexicographic.add("100");
|
|
lexicographic.add("101");
|
|
lexicographic.add("10000");
|
|
lexicographic.add("100000");
|
|
lexicographic.add("3");
|
|
|
|
natural = new ArrayList<>();
|
|
natural.add("1");
|
|
natural.add("3");
|
|
natural.add("10");
|
|
natural.add("100");
|
|
natural.add("101");
|
|
natural.add("10000");
|
|
natural.add("100000");
|
|
|
|
Collections.shuffle(toCompare);
|
|
}
|
|
|
|
@Test
|
|
void testIfArraySortIsCorrect(){
|
|
NaturalOrderComparator comparator = new NaturalOrderComparator();
|
|
toCompare.sort(comparator);
|
|
|
|
assertThat(toCompare)
|
|
.containsSequence(natural)
|
|
.doesNotContainSequence(lexicographic)
|
|
.doesNotContainSequence(original);
|
|
|
|
}
|
|
}
|