Exemple #1
0
        public void NextDateTime()
        {
            var r = new Random();

            var today = DateTime.Today.Date;
            var tomorrow = today.AddDays(1);

            for (var i = 0; i < 100; i++)
            {
                Assert.That(r.NextDateTime(today, tomorrow), Is.InRange(today, tomorrow));
                Assert.That(r.NextDateTime(today, today), Is.EqualTo(today));
            }
        }
        public void NextDateTimeTest()
        {
            Random rnd = new Random();
            DateTime dt = rnd.NextDateTime();
            Assert.IsTrue(dt >= DateTime.MinValue);
            Assert.IsTrue(dt <= DateTime.MaxValue);

            DateTime dtNow = DateTime.Now;
            DateTime dtMin = dtNow.AddMinutes(-10);
            DateTime dtMax = dtNow.AddMinutes(10);
            dt = rnd.NextDateTime(dtMin, dtMax);
            Assert.IsTrue(dt >= dtMin);
            Assert.IsTrue(dt <= dtMax);
        }
Exemple #3
0
        public void NextDateTimeFails()
        {
            var r = new Random();

            var today = DateTime.Today.Date;
            var tomorrow = today.AddDays(1);

            Console.Out.WriteLine(r.NextDateTime(tomorrow, today));
        }
Exemple #4
0
        public static object Next(this System.Random generator, Type desired)
        {
            switch (Type.GetTypeCode(desired))
            {
            case TypeCode.Boolean:
                return(generator.NextBool());

            case TypeCode.Byte:
                return(generator.NextByte());

            case TypeCode.Char:
                return(generator.NextChar());

            case TypeCode.DateTime:
                return(generator.NextDateTime());

            case TypeCode.Decimal:
                return(generator.NextDecimal());

            case TypeCode.Double:
                return(generator.NextDouble());

            case TypeCode.Int16:
                return(generator.NextShort());

            case TypeCode.Int32:
                return(generator.NextInt());

            case TypeCode.Int64:
                return(generator.NextLong());

            case TypeCode.SByte:
                return(generator.NextSByte());

            case TypeCode.Single:
                return(generator.NextFloat());

            case TypeCode.UInt16:
                return(generator.NextUShort());

            case TypeCode.UInt32:
                return(generator.NextUInt());

            case TypeCode.UInt64:
                return(generator.NextULong());

            default:
                throw new ArgumentOutOfRangeException("Cannot provide a random " + desired);
            }
        }
 public static List<TestEntity> GenerateRandomTestEntities(int sampleSize)
 {
     Random random = new Random();
     List<TestEntity> testEntities = new List<TestEntity>();
     for (int i = 0; i < sampleSize; i++)
     {
         testEntities.Add(new TestEntity
         {
             TestDate = random.NextDateTime(new DateTime(2000, 1, 1), new DateTime(2012, 1, 1)),
             TestInt = random.Next(),
             TestString = random.NextString(1000)
         });
     }
     return testEntities;
 }
Exemple #6
0
 protected UnitTestBase()
 {
     List<TestEntity> entities = new List<TestEntity>();
     DateTime dt = DateTime.Now;
     Random rnd = new Random();
     for (int i = 0; i < 1000; i++)
     {
         entities.Add(new TestEntity()
         {
             Id = i + 1,
             Name = "Name" + (i + 1),
             AddDate = rnd.NextDateTime(dt.AddDays(-7), dt.AddDays(7)),
             IsDeleted = rnd.NextBoolean()
         });
     }
     Entities = entities;
 }
        public void NextDateTimeTest()
        {
            var rnd = new Random();
            var min = new DateTime(2009, 12, 30, 0, 0, 0);
            var max = new DateTime(2010, 1, 2, 0, 0, 0);

            double TRIALS = 100000;
            var dates = new List<DateTime>((int)TRIALS);
            for (int i = 0; i < TRIALS; ++i) {
                var dt = rnd.NextDateTime(min, max);
                dates.Add(dt);
            }

            //verify even distribution
            var avg = (max.Ticks + min.Ticks) / 2;
            var part = (max.Ticks - min.Ticks) / 4;

            var mid = avg; //					1/2
            var mid14 = avg - part; //			1/4
            var mid34 = avg + part;//			3/4

            double c1 = 0, c2 = 0, c3 = 0, c4 = 0;

            foreach (var dt in dates) {
                var t = dt.Ticks;
                if (t < mid14)
                    ++c1;
                else if (t >= mid14 && t < mid)
                    ++c2;
                else if (t >= mid && t < mid34)
                    ++c3;
                else if (t >= mid34)
                    ++c4;
            }

            double q1 = c1/TRIALS;
            double q2 = c2/TRIALS;
            double q3 = c3/TRIALS;
            double q4 = c4/TRIALS;

            Assert.AreEqual(0.25, q1, 0.01);
            Assert.AreEqual(0.25, q2, 0.01);
            Assert.AreEqual(0.25, q3, 0.01);
            Assert.AreEqual(0.25, q4, 0.01);
        }
        public void DateTime_Distribution()
        {
            DateTime[] values =
                Enumerable
                .Range(0, 1_000_000)
                .Select(i => r.NextDateTime(new DateTime(1897, 1, 1), new DateTime(1904, 1, 1)))
                .ToArray();

            Distribution(
                7,
                values.Length,
                i => values[i].Year - 1897
                );

            Distribution(
                12,
                values.Length,
                i => values[i].Hour % 12
                );
        }
        private static Packet CreateRandomPacket(Random random)
        {
            Packet packet;
            do
            {
                DateTime packetTimestamp =
                    random.NextDateTime(PacketTimestamp.MinimumPacketTimestamp, PacketTimestamp.MaximumPacketTimestamp).ToUniversalTime().ToLocalTime();

                List<ILayer> layers = new List<ILayer>();
                EthernetLayer ethernetLayer = random.NextEthernetLayer();
                layers.Add(ethernetLayer);
                CreateRandomEthernetPayload(random, ethernetLayer, layers);
                packet = PacketBuilder.Build(packetTimestamp, layers);
            } while (packet.Length > 65536);
            return packet;
        }
        private static Packet CreateRandomPacket(Random random)
        {
            Packet packet;
            do
            {
                // TODO. BUG: Limited timestamp due to Windows bug: https://connect.microsoft.com/VisualStudio/feedback/details/559198/net-4-datetime-tolocaltime-is-sometimes-wrong
                DateTime packetTimestamp =
                    random.NextDateTime(new DateTime(2010, 1, 1), new DateTime(2010, 12, 31)).ToUniversalTime().ToLocalTime();
                //random.NextDateTime(PacketTimestamp.MinimumPacketTimestamp, PacketTimestamp.MaximumPacketTimestamp).ToUniversalTime().ToLocalTime();

                List<ILayer> layers = new List<ILayer>();
                EthernetLayer ethernetLayer = random.NextEthernetLayer();
                layers.Add(ethernetLayer);
                CreateRandomEthernetPayload(random, ethernetLayer, layers);
                packet = PacketBuilder.Build(packetTimestamp, layers);
            } while (packet.Length > 65536);
            return packet;
        }