public void N_4_K_1_Expected_4() { int[] data = { 2, 3, 6, 1 }; int n = data.Length; int k = 1; Combinations combinations = new Combinations(); List<List<int>> combination = combinations.Generate(data, 0, k); Assert.That(combination.Count, Is.EqualTo(Fact(n) / (Fact(k) * Fact(n - k)))); Assert.That(combination[0], Is.EqualTo(new List<int>{2})); Assert.That(combination[3], Is.EqualTo(new List<int>{1})); }