public void UnitMc_GetRowsForPicksC() { var expect = new int[][] { new int[] { 0 }, new int[] { 1 }, new int[] { 0, 0 }, new int[] { 0, 1 }, new int[] { 1, 1 }, new int[] { 0, 0, 0 }, new int[] { 0, 0, 1 }, new int[] { 0, 1, 1 }, new int[] { 1, 1, 1 } }; long startRank = 1; var mc0 = new Multicombination(2, 3, startRank); var beginData = new int[mc0.Picks]; mc0.CopyTo(beginData); int actualCount = 0; foreach (Multicombination mc in mc0.GetRowsForPicks(1, 3)) { Assert.IsTrue(Enumerable.SequenceEqual(expect[actualCount], mc)); Assert.IsTrue(Enumerable.SequenceEqual(mc, mc0)); ++actualCount; } Assert.AreEqual(expect.Length, actualCount); Assert.AreEqual(startRank, mc0.Rank); Assert.IsTrue(Enumerable.SequenceEqual(beginData, mc0)); }
public void CrashMc_GetRowsForPicks_ArgumentOutOfRange2() { Multicombination mc2 = new Multicombination(2, 3); foreach (Multicombination row in mc2.GetRowsForPicks(2, 1)) { } }
public void UnitMc_GetRowsForPicksEmpty2() { Multicombination mc2 = new Multicombination(2, 3); foreach (Multicombination row in mc2.GetRowsForPicks(0, 0)) { Assert.Fail("Enumeration should be empty"); } }
public void UnitMc_GetRowsForPicksEmpty1() { Multicombination mc0 = new Multicombination(0, 0); foreach (Multicombination row in mc0.GetRowsForPicks(1, 2)) { Assert.Fail("Enumeration should be empty"); } }
public void UnitMc_GetRowsForPicksB() { Multicombination mc2 = new Multicombination(2, 5); int counter = 0; foreach (Multicombination row in mc2.GetRowsForPicks(0, 2)) { ++counter; } Assert.AreEqual(5, counter); }