public void CrashMc_Permute_ArgumentNull2() { Multicombination mc = new Multicombination(2); string[] nullSource = null; List <string> item = Multicombination.Permute(mc, nullSource); }
public void CrashMc_Permute_ArgumentNull1() { Multicombination mcNull = null; string[] letters = new string[] { "A", "B" }; List <string> item = Multicombination.Permute(mcNull, letters); }
public void CrashMc_Permute_Argument() { Multicombination mc = new Multicombination(6); string[] letters = new string[] { "A", "B", "C", "D" }; // Not enough letters throws List <string> item = Multicombination.Permute(mc, letters); }
static void Main() { Pastry[] Pastries = { new Pastry("eclair"), new Pastry("strudel"), new Pastry("donut"), new Pastry("croissant") }; // Use k-multicombinations to get rearrangements of other objects: foreach (var row in new Multicombination(Pastries.Length, 3).GetRows()) { Console.WriteLine(String.Join(" ", Multicombination.Permute(row, Pastries))); } }
public void UnitMc_Permute() { string[] expected = new string[] { "AAA", "AAB", "ABB", "BBB" }; string[] letters = new string[] { "A", "B" }; int actualCount = 0; foreach (Multicombination mc in new Multicombination(2, 3).GetRows()) { string a = ""; foreach (string item in Multicombination.Permute(mc, letters)) { a += item; } Assert.AreEqual(expected[actualCount], a); ++actualCount; } Assert.AreEqual(expected.Length, actualCount); }