Add CombinationsWithRepeats method to EnumerableExtensions with corresponding tests
This commit is contained in:
@@ -11,7 +11,7 @@ public class EnumerableExtensionsTest
|
||||
var actual = data.Combinations(2).ToArray();
|
||||
|
||||
Assert.Contains([1, 2], actual);
|
||||
Assert.Equal(1, actual.Length);
|
||||
Assert.Single(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -35,7 +35,37 @@ public class EnumerableExtensionsTest
|
||||
var actual = data.Combinations(3).ToArray();
|
||||
|
||||
Assert.Contains([1, 2, 3], actual);
|
||||
Assert.Equal(1, actual.Length);
|
||||
Assert.Single(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Combinations_repeated_12_2_equals_11_12_22()
|
||||
{
|
||||
int[] data = [1, 2];
|
||||
|
||||
var actual = data.CombinationsWithRepeats(2).ToArray();
|
||||
|
||||
Assert.Equal([[1, 1], [1, 2], [2, 2]], actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Combinations_repeated_123_2_equals_11_12_13_22_23_33()
|
||||
{
|
||||
int[] data = [1, 2, 3];
|
||||
|
||||
var actual = data.CombinationsWithRepeats(2).ToArray();
|
||||
|
||||
Assert.Equal([[1, 1], [1, 2], [1, 3], [2, 2], [2, 3], [3, 3]], actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Combinations_repeated_123_3_equals_many()
|
||||
{
|
||||
int[] data = [1, 2, 3];
|
||||
|
||||
var actual = data.CombinationsWithRepeats(3).ToArray();
|
||||
|
||||
Assert.Equal([[1, 1, 1], [1, 1, 2], [1, 1, 3], [1, 2, 2], [1, 2, 3], [1, 3, 3], [2, 2, 2], [2, 2, 3], [2, 3, 3], [3, 3, 3]], actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user