Exemple #1
0
        protected override void ProcessRecord()
        {
            if (String)
            {
                var result = new List <string>();
                for (var i = Minimum; i < Maximum; i++)
                {
                    if (MyNumber.VerifyNumber(Fill(i.ToString()).Select(c => c - '0').ToArray()))
                    {
                        result.Add(Fill(i.ToString()));
                    }
                }

                WriteObject(result.ToArray());
            }
            else
            {
                var result = new List <int[]>();

                for (var i = Minimum; i < Maximum; i++)
                {
                    var numArray = Fill(i.ToString()).Select(c => c - '0').ToArray();
                    if (MyNumber.VerifyNumber(numArray))
                    {
                        result.Add(numArray);
                    }
                }

                WriteObject(result.ToArray());
            }
        }
Exemple #2
0
        public void GenerateRandom()
        {
            var n = new MyNumber();

            for (var i = 0; i < 100; i++)
            {
                var rSeq  = n.GenerateRandomNumber();
                var check = MyNumber.VerifyNumber(rSeq);
                if (check == false)
                {
                    throw new Exception();
                }
            }
        }
Exemple #3
0
        protected override void ProcessRecord()
        {
            switch (DataType)
            {
            case "string":
            {
                var data = (string)MyNumberData;
                _result = MyNumber.VerifyNumber(data.Select(c => c - '0').ToArray());
                break;
            }

            case "array":
            {
                _result = MyNumber.VerifyNumber(((object[])MyNumberData).Cast <int>().ToArray());
                break;
            }
            }
        }
Exemple #4
0
        public void SampleTest()
        {
            // Some randomly generated array of My Numbers
            var subjectArray = new[]
            {
                "614106526000", "510136263801", "060122228102",
                "362473502703", "467430101604", "763727588705",
                "734220726006", "450817747707", "207304711608",
                "407508284309"
            };

            if (subjectArray.Select(item => item.ToCharArray())
                .Select(subject => Array.ConvertAll(subject, c => (int)char.GetNumericValue(c)))
                .Any(value => !MyNumber.VerifyNumber(value)))
            {
                throw new Exception("Validation failed.");
            }
        }
Exemple #5
0
        /// <summary>
        ///     Generate "My Number" of range specified
        /// </summary>
        /// <param name="min">Minimum value</param>
        /// <param name="max">Maximum value</param>
        private static void RangeN(string min, string max)
        {
            var minFilled = Fill(min, RangeMode.Numerical);
            var maxFilled = Fill(max, RangeMode.Numerical);

            Log.Debug("Filled min: " + minFilled);
            Log.Debug("Filled max: " + maxFilled);


            var value = Array.ConvertAll(minFilled.ToCharArray(), c => (int)GetNumericValue(c));
            var stop  = Array.ConvertAll(maxFilled.ToCharArray(), c => (int)GetNumericValue(c));

            do
            {
                if (MyNumber.VerifyNumber(value))
                {
                    Console.WriteLine(string.Join("", value));
                }
                value = Increment(value);
            } while (!Compare(value, stop, RangeMode.Numerical) && value != null);
        }
Exemple #6
0
        /// <summary>
        ///     Check "My Number" for validity
        /// </summary>
        /// <param name="number">"My Number" to check</param>
        /// <returns>Validation result</returns>
        private static bool Check(string number)
        {
            var sanitized = Sanitize(number);

            return(MyNumber.VerifyNumber(sanitized));
        }