示例#1
0
        // Construction

        static InputProvider()
        {
            _evenIntegers = CombinatoricsHelper.GenerateNTuples(Numbers, EvenExhaustiveCollectionSize);
            _oddIntegers  = CombinatoricsHelper.GenerateNTuples(Numbers, OddExhaustiveCollectionSize);

            _randomIntegers = new int[10000000];
            Random randGen = new Random();

            for (int i = 0; i < _randomIntegers.Count; i++)
            {
                _randomIntegers[i] = randGen.Next();
            }
        }
示例#2
0
        public void CombinatoricsHelper_GenerateNTuples_Test()
        {
            var elements = new List <int>();

            for (int noOfElements = 0; noOfElements < 5; noOfElements++)
            {
                elements.Add(noOfElements);
                for (int choose = 0; choose < 5; choose++)
                {
                    var results = CombinatoricsHelper.GenerateNTuples(elements, choose);
                    Assert.AreEqual(results.Count, Math.Pow(elements.Count, choose));
                }
            }
        }
示例#3
0
        public void SortHelper_QuickSort_Strings_Test()
        {
            // Define the alphabet:
            string[] alphabet = new string[26];
            for (int i = 0; i < alphabet.Length; i++)
            {
                alphabet[i] = ('a' + i).ToString();
            }

            // Get every permutation consisting of 3 letters:
            var permutations = CombinatoricsHelper.GenerateNTuples(alphabet, 4);

            foreach (var permutation in permutations)
            {
                // Sort each permutation:
                SortHelper.QuickSort(permutation);
                // Evaluate whether or not the sort was successful.
                for (int i = 1; i < permutation.Count; i++)
                {
                    Assert.IsTrue(permutation[i].CompareTo(permutation[i - 1]) >= 0);
                }
            }
        }