Add Permutations method to EnumerableExtensions with corresponding tests

This commit is contained in:
Sebastian Lindemeier
2025-12-15 11:05:51 +01:00
parent 56521d39d7
commit acef1dd7d2
2 changed files with 73 additions and 5 deletions
@@ -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);
}
}