예제 #1
0
        public void GetInt32ValuesUniqueValuesOnly()
        {
            var generator = new MockRandomNumberGeneratorForGetInt32Values(ValueGeneration.UniqueValuesOnly);

            using (var random = new SecureRandom(generator))
            {
                var elements = random.GetInt32Values(
                    8, ValueGeneration.UniqueValuesOnly);

                Assert.AreEqual(8, elements.Length);

                for (var i = 0; i < elements.Length; i++)
                {
                    var element = elements[i];
                    Assert.IsTrue(element >= int.MinValue);
                    Assert.IsTrue(element <= int.MaxValue);
                }

                Assert.AreEqual(elements.Length, new HashSet<int>(elements).Count);
                Assert.AreEqual(9, generator.MethodCallCount);
            }
        }
예제 #2
0
        public void GetInt32ValuesDuplicatesAllowed()
        {
            var generator = new MockRandomNumberGeneratorForGetInt32Values(ValueGeneration.DuplicatesAllowed);

            using (var random = new SecureRandom(generator))
            {
                var elements = random.GetInt32Values(8, ValueGeneration.DuplicatesAllowed);

                Assert.AreEqual(8, elements.Length);

                for (var i = 0; i < elements.Length; i++)
                {
                    var element = elements[i];
                    Assert.IsTrue(element >= int.MinValue);
                    Assert.IsTrue(element < int.MaxValue);
                }

                Assert.AreEqual(8, generator.MethodCallCount);
            }
        }