mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-27 22:43:30 +08:00
Add permutations and combinations (#2932)
This commit is contained in:
@ -0,0 +1,33 @@
|
||||
package com.thealgorithms.backtracking;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class CombinationTest {
|
||||
@Test
|
||||
void testNoElement()
|
||||
{
|
||||
List<TreeSet<Integer>> result = Combination.combination(new Integer[]{1, 2}, 0);
|
||||
assertTrue(result == null);
|
||||
}
|
||||
@Test
|
||||
void testLengthOne()
|
||||
{
|
||||
List<TreeSet<Integer>> result = Combination.combination(new Integer[]{1, 2}, 1);
|
||||
assertTrue(result.get(0).iterator().next() == 1);
|
||||
assertTrue(result.get(1).iterator().next() == 2);
|
||||
}
|
||||
@Test
|
||||
void testLengthTwo()
|
||||
{
|
||||
List<TreeSet<Integer>> result = Combination.combination(new Integer[]{1, 2}, 2);
|
||||
Integer[] arr = result.get(0).toArray(new Integer[2]);
|
||||
assertTrue(arr[0] == 1);
|
||||
assertTrue(arr[1] == 2);
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.thealgorithms.backtracking;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class PermutationTest {
|
||||
@Test
|
||||
void testNoElement()
|
||||
{
|
||||
List<Integer []> result = Permutation.permutation(new Integer[]{});
|
||||
assertEquals(result.get(0).length, 0);
|
||||
}
|
||||
@Test
|
||||
void testSingleElement()
|
||||
{
|
||||
List<Integer []> result = Permutation.permutation(new Integer[]{1});
|
||||
assertEquals(result.get(0)[0], 1);
|
||||
}
|
||||
@Test
|
||||
void testMultipleElements()
|
||||
{
|
||||
List<Integer []> result = Permutation.permutation(new Integer[]{1, 2});
|
||||
assertTrue(Arrays.equals(result.get(0), new Integer[]{1,2}));
|
||||
assertTrue(Arrays.equals(result.get(1), new Integer[]{2,1}));
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user