コード例 #1
0
        private static void SetupRiffleShuffle <T>(out Stack <T> topHalf, out Stack <T> botHalf, ICollection <T> sourceCollection)
        {
            ICollection <T> firstList, secondList;

            MyUtils.SplitCollectionInHalf <T>(sourceCollection, out firstList, out secondList);

            topHalf = new Stack <T>(firstList);
            botHalf = new Stack <T>(secondList);
        }
コード例 #2
0
        public void MongeanShuffleGeneratesCorrectSequenceOnOneIteration()
        {
            ICollection <int> shuffledList = MyUtils.GenerateListOfIntegers(5).ApplyMongeanShuffle <int>();

            List <int> correctListOrder = new List <int> {
                4, 2, 1, 3, 5
            };

            Assert.IsTrue(shuffledList.SequenceEqual(correctListOrder));
        }
コード例 #3
0
        public void GenerateMockListReturnsCorrectListOfIntegers()
        {
            ICollection <int> testList = MyUtils.GenerateListOfIntegers(5);

            List <int> correctList = new List <int> {
                1, 2, 3, 4, 5
            };

            Assert.IsTrue(correctList.SequenceEqual(testList));
        }
コード例 #4
0
        private static void RiffleStep <T>(Stack <T> topHalf, Stack <T> botHalf, ICollection <T> targetList)
        {
            Random rng = new Random();

            if (MyUtils.IntegerIsEven(rng.Next()))
            {
                targetList.Add(topHalf.Pop());
            }
            else
            {
                targetList.Add(botHalf.Pop());
            }
        }
コード例 #5
0
        public void MongeanShuffleReordersSequence()
        {
            ICollection <int> shuffledList = MyUtils.GenerateListOfIntegers(5).ApplyMongeanShuffle <int>();

            Assert.IsTrue(!shuffledList.SequenceEqual(MyUtils.GenerateListOfIntegers(5)));
        }
コード例 #6
0
        public void MongeanShuffleMaintainsCount()
        {
            ICollection <int> shuffledList = MyUtils.GenerateListOfIntegers(5).ApplyMongeanShuffle <int>();

            Assert.AreEqual(shuffledList.Count, MyUtils.GenerateListOfIntegers(5).Count);
        }
コード例 #7
0
        public void MongeanShuffleDoesNotReturnNull()
        {
            ICollection <int> shuffledList = MyUtils.GenerateListOfIntegers(5).ApplyMongeanShuffle <int>();

            Assert.IsNotNull(shuffledList);
        }
コード例 #8
0
        public void GenerateMockListDoesNotReturnNull()
        {
            ICollection <int> testList = MyUtils.GenerateListOfIntegers(5);

            Assert.IsNotNull(testList);
        }
コード例 #9
0
        public void OverhandShuffleReordersSequence()
        {
            ICollection <int> testList = MyUtils.GenerateListOfIntegers(52).ApplyOverhandShuffle <int>();

            Assert.IsTrue(!testList.SequenceEqual(MyUtils.GenerateListOfIntegers(52)));
        }
コード例 #10
0
        public void OverhandShuffleMaintainsCount()
        {
            ICollection <int> testList = MyUtils.GenerateListOfIntegers(52).ApplyOverhandShuffle <int>();

            Assert.AreEqual(testList.Count, MyUtils.GenerateListOfIntegers(52).Count);
        }
コード例 #11
0
        public void OverhandShuffleDoesNotReturnNull()
        {
            ICollection <int> testList = MyUtils.GenerateListOfIntegers(52).ApplyOverhandShuffle <int>();

            Assert.IsNotNull(testList);
        }