Пример #1
0
        private RandomDecimalGenerator GetGeneratorImpl(IPatternScope scope)
        {
            if (generator == null)
            {
                var invoker = MakeFilterInvoker(scope);

                try
                {
                    return(generator = new RandomDecimalGenerator
                    {
                        Minimum = (decimal?)minimum,
                        Maximum = (decimal?)maximum,
                        Count = count,
                        Filter = invoker,
                        Seed = NullableSeed
                    });
                }
                catch (GenerationException exception)
                {
                    throw new PatternUsageErrorException(String.Format("The random numbers generator was incorrectly initialized ({0}).", exception.Message), exception);
                }
            }

            return(generator);
        }
Пример #2
0
        public void Constructs_with_invalid_property_should_throw_exception(decimal minimum, decimal maximum, int count)
        {
            var generator = new RandomDecimalGenerator
            {
                Minimum = minimum,
                Maximum = maximum,
                Count   = count
            };

            Assert.Throws <GenerationException>(() => generator.Run().Cast <decimal>().ToArray());
        }
        public void Constructs_with_invalid_property_should_throw_exception(decimal minimum, decimal maximum, int count)
        {
            var generator = new RandomDecimalGenerator
            {
                Minimum = minimum,
                Maximum = maximum,
                Count = count
            };

            Assert.Throws<GenerationException>(() => generator.Run().Cast<decimal>().ToArray());
        }
            /// <summary>
            /// Returns the an enumeration of random numbers.
            /// </summary>
            /// <param name="count">The number of strings to generate.</param>
            /// <param name="minimum">The lower bound of the range.</param>
            /// <param name="maximum">The upper bound of the range.</param>
            /// <returns>An enumeration of random number values.</returns>
            /// <exception cref="GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
            public static IEnumerable<decimal> Numbers(int count, decimal minimum, decimal maximum)
            {
                var generator = new RandomDecimalGenerator
                {
                    Count = count,
                    Minimum = minimum,
                    Maximum = maximum,
                };

                foreach (decimal value in generator.Run())
                    yield return value;
            }
Пример #5
0
            /// <summary>
            /// Returns the an enumeration of random numbers.
            /// </summary>
            /// <param name="count">The number of strings to generate.</param>
            /// <param name="minimum">The lower bound of the range.</param>
            /// <param name="maximum">The upper bound of the range.</param>
            /// <returns>An enumeration of random number values.</returns>
            /// <exception cref="GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
            public static IEnumerable <decimal> Numbers(int count, decimal minimum, decimal maximum)
            {
                var generator = new RandomDecimalGenerator
                {
                    Count   = count,
                    Minimum = minimum,
                    Maximum = maximum,
                };

                foreach (decimal value in generator.Run())
                {
                    yield return(value);
                }
            }
        public void Generate_sequence_ok(decimal minimum, decimal maximum, int count)
        {
            var generator = new RandomDecimalGenerator
            {
                Minimum = minimum,
                Maximum = maximum,
                Count = count
            };

            var values = generator.Run().Cast<decimal>().ToArray();
            Assert.Count(count, values);
            Assert.Multiple(() =>
            {
                foreach (decimal value in values)
                {
                    Assert.Between(value, minimum, maximum);
                }
            });
        }
Пример #7
0
        public void Generate_sequence_ok(decimal minimum, decimal maximum, int count)
        {
            var generator = new RandomDecimalGenerator
            {
                Minimum = minimum,
                Maximum = maximum,
                Count   = count
            };

            var values = generator.Run().Cast <decimal>().ToArray();

            Assert.Count(count, values);
            Assert.Multiple(() =>
            {
                foreach (decimal value in values)
                {
                    Assert.Between(value, minimum, maximum);
                }
            });
        }
Пример #8
0
        public void Generate_filtered_sequence()
        {
            var generator = new RandomDecimalGenerator
            {
                Minimum = 0,
                Maximum = 100,
                Count   = 50,
                Filter  = d => ((int)d % 2) == 0
            };

            var values = generator.Run().Cast <decimal>().ToArray();

            Assert.Count(50, values);
            Assert.Multiple(() =>
            {
                foreach (decimal value in values)
                {
                    Assert.AreEqual(0, (int)value % 2);
                }
            });
        }
        private RandomDecimalGenerator GetGeneratorImpl(IPatternScope scope)
        {
            if (generator == null)
            {
                var invoker = MakeFilterInvoker(scope);

                try
                {
                    return generator = new RandomDecimalGenerator
                    {
                        Minimum = (decimal?)minimum,
                        Maximum = (decimal?)maximum,
                        Count = count,
                        Filter = invoker,
                        Seed = NullableSeed
                    };
                }
                catch (GenerationException exception)
                {
                    throw new PatternUsageErrorException(String.Format("The random numbers generator was incorrectly initialized ({0}).", exception.Message), exception);
                }
            }

            return generator;
        }
 public void Setup()
 {
     _randomDecimal = new RandomDecimalGenerator();
     _randomInteger = new RandomIntegerGenerator();
     _randomString  = new RandomStringGenerator();
 }
        public void Generate_filtered_sequence()
        {
            var generator = new RandomDecimalGenerator
            {
                Minimum = 0,
                Maximum = 100,
                Count = 50,
                Filter = d => ((int)d % 2) == 0
            };

            var values = generator.Run().Cast<decimal>().ToArray();
            Assert.Count(50, values);
            Assert.Multiple(() =>
            {
                foreach (decimal value in values)
                {
                    Assert.AreEqual(0, (int)value % 2);
                }
            });
        }