Example #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());
     }
 }
Example #2
0
        public void PseudorandomEquality()
        {
            Pseudorandom rand = new Pseudorandom(5);

            Assert.AreEqual(new Pseudorandom(5).GetHashCode(), rand.GetHashCode());
            Assert.IsFalse(rand.Equals(this));
            Assert.IsFalse(rand.Equals(null));
            Pseudorandom clone = rand !.Clone(); // not sure how the analyzer gets confused here?  maybe it's seeing the Equals(null) above and getting confused about that

            Assert.IsTrue(rand.Equals(clone));
            Assert.IsTrue(rand.Equals((object)clone));
            Pseudorandom rand2 = new Pseudorandom(6);

            Assert.IsFalse(rand == rand2);
            Assert.IsTrue(rand != rand2);
        }