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);
        }