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); }
public void NextDateTimeFails() { var r = new Random(); var today = DateTime.Today.Date; var tomorrow = today.AddDays(1); Console.Out.WriteLine(r.NextDateTime(tomorrow, today)); }
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; }
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; }