Add Permutations method to EnumerableExtensions with corresponding tests
This commit is contained in:
@@ -34,4 +34,33 @@ public class EnumerableExtensionsTest
|
||||
|
||||
Assert.Contains([1, 2, 3], actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Permutations_12_2_equals_11_12_21_22()
|
||||
{
|
||||
int[] data = [1, 2];
|
||||
|
||||
var actual = data.Permutations(2).ToArray();
|
||||
|
||||
Assert.Contains([1, 1], actual);
|
||||
Assert.Contains([1, 2], actual);
|
||||
Assert.Contains([2, 1], actual);
|
||||
Assert.Contains([2, 2], actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Permutations_123_2_equals_11_12_13_21_22_23_31_32_33()
|
||||
{
|
||||
int[] data = [1, 2, 3];
|
||||
|
||||
var actual = data.Permutations(2).ToArray();
|
||||
|
||||
Assert.Contains([1, 1], actual);
|
||||
Assert.Contains([1, 2], actual);
|
||||
Assert.Contains([2, 1], actual);
|
||||
Assert.Contains([2, 2], actual);
|
||||
Assert.Contains([3, 1], actual);
|
||||
Assert.Contains([3, 2], actual);
|
||||
Assert.Contains([3, 3], actual);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user