mirror of
https://onedev.fprog.nl/AioNet
synced 2025-12-21 08:48:36 +01:00
42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
namespace AioNet.LinqTest;
|
|
|
|
using AioNet.Linq;
|
|
|
|
public class ExtendedLinqTest
|
|
{
|
|
[Fact]
|
|
public void FindOneCombinationFor3Elements_SubsequenceLength3()
|
|
{
|
|
var foundCombinations = new[] { 1, 2, 3 }.Combinations(3);
|
|
Assert.Single(foundCombinations);
|
|
|
|
var onlyCombination = foundCombinations.First();
|
|
Assert.Contains(1, onlyCombination);
|
|
Assert.Contains(2, onlyCombination);
|
|
Assert.Contains(3, onlyCombination);
|
|
}
|
|
|
|
[Fact]
|
|
public void FindThreeCombinationsFor3Elements_SubsequenceLength2()
|
|
{
|
|
var foundCombinations = new[] { 1, 2, 3 }.Combinations(2);
|
|
Assert.Equal(3, foundCombinations.Count());
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(1)]
|
|
[InlineData(2)]
|
|
[InlineData(3)]
|
|
[InlineData(4)]
|
|
[InlineData(5)]
|
|
public void EachSubsequenceIsCorrectLength(int subsequenceLength)
|
|
{
|
|
var foundCombinations = new[] { 1, 2, 3, 4, 5, 6 }.Combinations(subsequenceLength);
|
|
|
|
foreach (var foundCombination in foundCombinations)
|
|
{
|
|
Assert.Equal(subsequenceLength, foundCombination.Count());
|
|
}
|
|
}
|
|
}
|