Beispiel #1
0
 public void PseudorandomSeededRand()
 {
     for (int seed = 0; seed < 4892; seed += 17)
     {
         Pseudorandom rand  = (seed == 0) ? new Pseudorandom() : new Pseudorandom(seed - 1);
         Pseudorandom clone = rand.Clone();
         Assert.AreEqual(rand.NextInt32Signed, clone.NextInt32Signed);
         Assert.AreEqual(rand.NextInt64Signed, clone.NextInt64Signed);
         Assert.AreEqual(rand.NextBoolean, clone.NextBoolean);
         Assert.AreEqual(rand.NextDouble, clone.NextDouble);
         Assert.AreEqual(rand.NextGuid, clone.NextGuid);
         Assert.AreEqual(rand.NextInt32Signed, clone.NextInt32Signed);
         Assert.AreEqual(rand.NextInt64Signed, clone.NextInt64Signed);
         Assert.AreEqual(rand.NextSignMultiplier, clone.NextSignMultiplier);
         Assert.AreEqual(rand.NextUInt32, clone.NextUInt32);
         Assert.AreEqual(rand.NextUInt64, clone.NextUInt64);
         Assert.AreEqual(rand.NextInt32UsuallySmall, clone.NextInt32UsuallySmall);
         Assert.AreEqual(rand.NextInt64SignedUsuallySmall, clone.NextInt64SignedUsuallySmall);
         Assert.AreEqual(rand.GetHashCode(), clone.GetHashCode());
         Assert.AreEqual(rand.NextEnum(typeof(NormalEnum)), clone.NextEnum(typeof(NormalEnum)));
         Assert.AreEqual(rand.NextEnum <FlagsEnum>(), clone.NextEnum <FlagsEnum>());
         Assert.AreEqual(rand.NextInt32Ranged(54789), clone.NextInt32Ranged(54789));
         Assert.AreEqual(rand.NextInt32Ranged(54789, 285702), clone.NextInt32Ranged(54789, 285702));
         Assert.AreEqual(rand.NextInt64Ranged(8902432), clone.NextInt64Ranged(8902432));
         Assert.AreEqual(rand.NextInt64Ranged(8902432, 5427890480323L), clone.NextInt64Ranged(8902432, 5427890480323L));
         Assert.IsTrue(ArrayExtensions.ValueEquals(rand.NextNewBytes(5), clone.NextNewBytes(5)));
         Assert.AreEqual(rand.NextInt32RangedUsuallySmall(2), clone.NextInt32RangedUsuallySmall(2));
         Assert.AreEqual(rand.NextInt32RangedUsuallySmall(90432, 2), clone.NextInt32RangedUsuallySmall(90432, 2));
         Assert.AreEqual(rand.NextInt64RangedUsuallySmall(2), clone.NextInt64RangedUsuallySmall(2));
         Assert.AreEqual(rand.NextInt64RangedUsuallySmall(90464, 2), clone.NextInt64RangedUsuallySmall(90464, 2));
         Assert.AreEqual(rand.ToString(), clone.ToString());
     }
 }
Beispiel #2
0
        public void PseudorandomRanged()
        {
            Pseudorandom rand = new Pseudorandom(4387617);

            Assert.ThrowsException <ArgumentException>(() => rand.NextInt32Ranged(10, 9));
            Assert.ThrowsException <ArgumentException>(() => rand.NextInt32SignedRanged(0, -100));
            Assert.ThrowsException <ArgumentException>(() => rand.NextUInt32Ranged(10, 9));
            Assert.ThrowsException <ArgumentException>(() => rand.NextInt64Ranged(10, 9));
            Assert.ThrowsException <ArgumentException>(() => rand.NextInt64SignedRanged(0, -100));
            Assert.ThrowsException <ArgumentException>(() => rand.NextUInt64Ranged(10, 9));
            Assert.AreEqual(9, rand.NextInt32Ranged(9, 9));
            Assert.AreEqual(-1, rand.NextInt32SignedRanged(-1, -1));
            Assert.AreEqual(9U, rand.NextUInt32Ranged(9, 9));
            Assert.AreEqual(9L, rand.NextInt64Ranged(9, 9));
            Assert.AreEqual(-1L, rand.NextInt64SignedRanged(-1, -1));
            Assert.AreEqual(9UL, rand.NextUInt64Ranged(9, 9));
        }