public void GetAllNumbers_ShouldReturnEmptyArray_IfLengthIsZero()
        {
            var generator = new NaryNumbersGenerator(2, 0);

            var numbers = generator.GetAllNumbers();

            var ver = new SequencesVerifier<uint>();
            ver.Add();
            ver.Verify(numbers);
        }
        public void GetOrderedSamplesWithoutReplacement_IfLenghtIsZero(
            Func<IReadOnlyList<int>, uint, IEnumerable<IEnumerable<int>>> generator)
        {
            var ver = new SequencesVerifier<int>
            {
                new int[0]
            };

            var sequence = generator(new[] {1, 2}, 0);

            ver.Verify(sequence);
        }
        public void GetUnorderedSamplesWithReplacement_IfLengthIsTwo(
            Func<IReadOnlyList<int>, uint, IEnumerable<IEnumerable<int>>> generator)
        {
            var sequences = generator(Enumerable.Range(1, 2).ToArray(), 2);

            var ver = new SequencesVerifier<int>
            {
                { 1, 1 },
                { 1, 2 },
                { 2, 2 }
            };
            ver.Verify(sequences);
        }
        public void GetAllNumbers_ShouldReturnCorrectResult_IfLengthIsOne()
        {
            var generator = new NaryNumbersGenerator(2, 1);

            var numbers = generator.GetAllNumbers();

            var ver = new SequencesVerifier<uint>
            {
                { 0 },
                { 1 }
            };
            ver.Verify(numbers);
        }
        public void GetUnorderedSamplesWithoutReplacement_IfLenghtIsTwo_AndSequenceHasLengthThree(
            Func<IReadOnlyList<int>, uint, IEnumerable<IEnumerable<int>>> generator)
        {
            var ver = new SequencesVerifier<int>
            {
                { 1, 2 },
                { 1, 3 },
                { 2, 3 }
            };

            var sequence = generator(new[] { 1, 2, 3 }, 2);

            ver.Verify(sequence);
        }
        public void GetOrderedSamplesWithReplacement_ShouldReturnEnumerationOfSingleElements_IfLengthIsOne(
            Func<IReadOnlyList<int>, uint, IEnumerable<IEnumerable<int>>> generator)
        {
            var sequences = generator(Enumerable.Range(1, 5).ToArray(), 1);

            var ver = new SequencesVerifier<int>
            {
                { 1 },
                { 2 },
                { 3 },
                { 4 },
                { 5 }
            };
            ver.Verify(sequences);
        }
        public void GetAllNumbers_ShouldReturnCorrectResult_IfLengthIsTwo_AndBaseIsThree()
        {
            var generator = new NaryNumbersGenerator(3, 2);

            var numbers = generator.GetAllNumbers();

            var ver = new SequencesVerifier<uint>
            {
                { 0, 0 },
                { 0, 1 },
                { 0, 2 },
                { 1, 0 },
                { 1, 1 },
                { 1, 2 },
                { 2, 0 },
                { 2, 1 },
                { 2, 2 }
            };
            ver.Verify(numbers);
        }