public void All_numbers_count_should_match_the_passed_number()
        {
            int number   = 5;
            var response = NumericSequenceHelper.GenerateNumericSequence(number);

            Assert.Equal(response.AllNumbers.Count, number);
        }
        public void All_numbers_except_count()
        {
            int number   = 5;
            var response = NumericSequenceHelper.GenerateNumericSequence(number);

            Assert.Equal(response.AllNumbersExcept.Count, number);
        }
        public void Even_numbers_count()
        {
            int number          = 5;
            int evenNumberCount = 2; // 2,4
            var response        = NumericSequenceHelper.GenerateNumericSequence(number);

            Assert.Equal(response.EvenNumbers.Count, evenNumberCount);
        }
        public void Odd_numbers_count()
        {
            int number         = 5;
            int oddNumberCount = 3; // 1,3,5
            var response       = NumericSequenceHelper.GenerateNumericSequence(number);

            Assert.Equal(response.OddNumbers.Count, oddNumberCount);
        }
        public void All_numbers_except_contains_letters()
        {
            int number   = 15;
            var response = NumericSequenceHelper.GenerateNumericSequence(number);

            Assert.True(response.AllNumbersExcept.Contains("C"));
            Assert.True(response.AllNumbersExcept.Contains("E"));
            Assert.True(response.AllNumbersExcept.Contains("Z"));
        }
Example #6
0
        public ApiResponse <NumericSequenceResponse> GetNumericSequence(int number)
        {
            ApiResponse <NumericSequenceResponse> response = null;

            if (number <= 0)
            {
                response = new ApiResponse <NumericSequenceResponse>("Invalid number");
            }
            else
            {
                var numericSequenceResponse = NumericSequenceHelper.GenerateNumericSequence(number);
                response = new ApiResponse <NumericSequenceResponse>(numericSequenceResponse);
            }

            return(response);
        }
Example #7
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            _ = validationContext ?? throw new ArgumentNullException(nameof(validationContext));

            if (value != null)
            {
                var numberFormat   = (string)value;
                var documentNumber = GetDocumentNumber(validationContext);
                var isValid        = NumericSequenceHelper.HasNumberPlaceholder(numberFormat) &&
                                     NumericSequenceHelper.HasRightLength(numberFormat, documentNumber);

                if (!isValid)
                {
                    return(new ValidationResult(
                               "Invalid number format. The field must contain the {N} variable meant for increasing the serial number and can have a maximum of 10 characters."));
                }
            }

            return(ValidationResult.Success);
        }