summaryrefslogtreecommitdiff
path: root/AlgoDesignAndTechniqueEdxJava/tests
diff options
context:
space:
mode:
authorHaidong Ji2018-11-27 08:43:56 -0600
committerHaidong Ji2018-11-27 08:43:56 -0600
commit8e42c78e2f389f8aabefef163f38a54d170018b5 (patch)
tree66f1727f64adce1daf0294b96b06ff828412913f /AlgoDesignAndTechniqueEdxJava/tests
parent34f8120152911f97b5c9a5748bd1c9b0aab00210 (diff)
Inversion count done!
Pretty challenging but a lot of fun and very satisfying. Decided to implement MergeSort first without worrying about inversion count, then went from there. Lesson learned: use the debugger! :) Also passing by reference in Java can be convenient.
Diffstat (limited to 'AlgoDesignAndTechniqueEdxJava/tests')
-rw-r--r--AlgoDesignAndTechniqueEdxJava/tests/InversionCountTest.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxJava/tests/InversionCountTest.java b/AlgoDesignAndTechniqueEdxJava/tests/InversionCountTest.java
new file mode 100644
index 0000000..483cd23
--- /dev/null
+++ b/AlgoDesignAndTechniqueEdxJava/tests/InversionCountTest.java
@@ -0,0 +1,50 @@
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+class InversionCountTest {
+
+ @Test
+ void testInversionCount0() {
+ int[] a = {2, 3, 9, 2, 9};
+ assertEquals(2, InversionCount.getInversionCountFromArray(a));
+ }
+
+ @Test
+ void testInversionCount1() {
+ int[] a = {1, 1, 1, 1, 1};
+ assertEquals(0, InversionCount.getInversionCountFromArray(a));
+ }
+
+ @Test
+ void testInversionCount2() {
+ int[] a = {6, 5, 4, 3, 2, 1};
+ assertEquals(15, InversionCount.getInversionCountFromArray(a));
+ }
+
+ @Test
+ void testInversionCount3() {
+ int[] a = {1, 1, 1, 2, 1};
+ assertEquals(1, InversionCount.getInversionCountFromArray(a));
+ }
+
+ @Test
+ void testInversionCount4() {
+ int[] a = {2, 1, 1};
+ assertEquals(2, InversionCount.getInversionCountFromArray(a));
+ }
+
+ @Test
+ void testMergeSort0() {
+ int[] a = {2, 3, 9, 2, 9};
+ int[] b = {2, 2, 3, 9, 9};
+ assertArrayEquals(b, InversionCount.mergeSortArray(a));
+ }
+
+ @Test
+ void testMergeSort1() {
+ int[] a = {5, 4, 3, 2, 1};
+ int[] b = {1, 2, 3, 4, 5};
+ assertArrayEquals(b, InversionCount.mergeSortArray(a));
+ }
+}