public void HasNow() { var target = new IncomingRecordData(); var now = DateTime.Now; var diff = now.Subtract(target.LoadedDateTime); Assert.That(diff.Ticks, Is.LessThan(25000));//It's a few ticks }
public void AddRecordLoadShouldAddRecord() { var incomingData = new IncomingRecordData() { ServerName = "testServer" }; ServerCollection.Instance.AddRecordLoad(incomingData); var display = ServerCollection.Instance.GetDisplayData("testServer"); Assert.That(display, Is.Not.Null); }
public void UpdateShouldUpdateMinutes() { var data = new IncomingRecordData() { CpuLoad = 100 }; var testDate = data.LoadedDateTime; var hourRecord = new HourRecord(testDate.Hour); hourRecord.Update(data); Assert.That(hourRecord.GetMinuteList().Item1, Is.EqualTo(100)); data.CpuLoad = 300; hourRecord.Update(data); Assert.That(hourRecord.GetMinuteList().Item1, Is.EqualTo(200)); }
private static void ConsumerShouldConsumeWithSpecifiedConsumer(int consumers) { var queuer = new MemoryRecordQueue(consumers); const int times = 10000000; var collection = new IncomingRecordData[times]; //Things get consumed so fast that the time to construct objects was making validation spotty Console.Out.WriteLine($"[time={DateTime.Now}] Creating {times} IncomingRecords"); for (var i = 0; i < times; i++) { collection[i] = new IncomingRecordData() { CpuLoad = new Random(i).NextDouble() * 1000 }; } Console.Out.WriteLine($"[time={DateTime.Now}] Starting Producer"); var ticks = DateTime.Now.Ticks; var producer = Task.Factory.StartNew(() => { for (var i = 0; i < times; i++) { //Creating the objects above as the creation took too long and the consumer consumed queuer.AddRecordData(collection[i]); } }); producer.Wait(); var queueSize = queuer.QueueSize(); do { //Console.Out.WriteLine($"[millisecond={DateTime.Now.Millisecond}] Queue still active [QueueCount={queuer.QueueSize()}]"); Thread.Sleep(1); //Console output gets overwhelmed if not given a slight pause } while (queuer.QueueSize() > 0); var endTicks = DateTime.Now.Ticks; Console.Out.WriteLine($"[time={DateTime.Now}] Queue Is Zero"); Console.Out.WriteLine($"[time={DateTime.Now}] Took an average of [ticks={(endTicks - ticks) / times}] per item"); Assert.That(queueSize, Is.GreaterThan(0), "Did not detect any consuming happening! Did you set the number of records too small?"); }