From f06d747a1020fceaf5aeb809e4e22d97bf961626 Mon Sep 17 00:00:00 2001 From: Ankush263 Date: Fri, 8 Jul 2022 16:01:17 +0530 Subject: [PATCH 1/2] Update Combinations.java and Add test case --- .../com/thealgorithms/maths/Combinations.java | 17 ----------- .../thealgorithms/maths/CombinationsTest.java | 30 +++++++++++++++++++ 2 files changed, 30 insertions(+), 17 deletions(-) create mode 100644 src/test/java/com/thealgorithms/maths/CombinationsTest.java diff --git a/src/main/java/com/thealgorithms/maths/Combinations.java b/src/main/java/com/thealgorithms/maths/Combinations.java index eee9b9fc81c3..34b324466725 100644 --- a/src/main/java/com/thealgorithms/maths/Combinations.java +++ b/src/main/java/com/thealgorithms/maths/Combinations.java @@ -5,23 +5,6 @@ */ public class Combinations { - public static void main(String[] args) { - assert combinations(1, 1) == 1; - assert combinations(10, 5) == 252; - assert combinations(6, 3) == 20; - assert combinations(20, 5) == 15504; - - // Since, 200 is a big number its factorial will go beyond limits of long even when 200C5 can be saved in a long - // variable. So below will fail - // assert combinations(200, 5) == 2535650040l; - assert combinationsOptimized(100, 0) == 1; - assert combinationsOptimized(1, 1) == 1; - assert combinationsOptimized(10, 5) == 252; - assert combinationsOptimized(6, 3) == 20; - assert combinationsOptimized(20, 5) == 15504; - assert combinationsOptimized(200, 5) == 2535650040l; - } - /** * Calculate of factorial * diff --git a/src/test/java/com/thealgorithms/maths/CombinationsTest.java b/src/test/java/com/thealgorithms/maths/CombinationsTest.java new file mode 100644 index 000000000000..677502cce062 --- /dev/null +++ b/src/test/java/com/thealgorithms/maths/CombinationsTest.java @@ -0,0 +1,30 @@ +package com.thealgorithms.maths; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +public class CombinationsTest { + + @Test + void testCombination() { + + assertEquals(1,Combinations.combinations(1, 1)); + assertEquals(252,Combinations.combinations(10, 5)); + assertEquals(20,Combinations.combinations(6, 3)); + assertEquals(15504,Combinations.combinations(20, 5)); + + } + + @Test + void testCombibationOptimised() { + + assertEquals(100, Combinations.combinationsOptimized(100, 1)); + assertEquals(1, Combinations.combinationsOptimized(1, 1)); + assertEquals(252, Combinations.combinationsOptimized(10, 5)); + assertEquals(20, Combinations.combinationsOptimized(6, 3)); + assertEquals(15504, Combinations.combinationsOptimized(20, 5)); + assertEquals(2535650040l, Combinations.combinationsOptimized(200, 5)); + + } +} From c315193e2c9c5a861c17ba8049ee2ba7aca4e496 Mon Sep 17 00:00:00 2001 From: Yang Libin Date: Fri, 8 Jul 2022 19:27:38 +0800 Subject: [PATCH 2/2] Update CombinationsTest.java --- .../thealgorithms/maths/CombinationsTest.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/test/java/com/thealgorithms/maths/CombinationsTest.java b/src/test/java/com/thealgorithms/maths/CombinationsTest.java index 677502cce062..0bcefb7de8b5 100644 --- a/src/test/java/com/thealgorithms/maths/CombinationsTest.java +++ b/src/test/java/com/thealgorithms/maths/CombinationsTest.java @@ -1,30 +1,30 @@ package com.thealgorithms.maths; -import static org.junit.jupiter.api.Assertions.assertEquals; - import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + public class CombinationsTest { - @Test - void testCombination() { + @Test + void testCombination() { - assertEquals(1,Combinations.combinations(1, 1)); - assertEquals(252,Combinations.combinations(10, 5)); - assertEquals(20,Combinations.combinations(6, 3)); - assertEquals(15504,Combinations.combinations(20, 5)); + assertEquals(1, Combinations.combinations(1, 1)); + assertEquals(252, Combinations.combinations(10, 5)); + assertEquals(20, Combinations.combinations(6, 3)); + assertEquals(15504, Combinations.combinations(20, 5)); - } + } - @Test - void testCombibationOptimised() { + @Test + void testCombinationOptimised() { - assertEquals(100, Combinations.combinationsOptimized(100, 1)); - assertEquals(1, Combinations.combinationsOptimized(1, 1)); - assertEquals(252, Combinations.combinationsOptimized(10, 5)); - assertEquals(20, Combinations.combinationsOptimized(6, 3)); - assertEquals(15504, Combinations.combinationsOptimized(20, 5)); - assertEquals(2535650040l, Combinations.combinationsOptimized(200, 5)); + assertEquals(100, Combinations.combinationsOptimized(100, 1)); + assertEquals(1, Combinations.combinationsOptimized(1, 1)); + assertEquals(252, Combinations.combinationsOptimized(10, 5)); + assertEquals(20, Combinations.combinationsOptimized(6, 3)); + assertEquals(15504, Combinations.combinationsOptimized(20, 5)); + assertEquals(2535650040L, Combinations.combinationsOptimized(200, 5)); - } + } }