public void Can_run_in_background() { const int ticks = 3; var block = new ManualResetEvent(false); RegisterMetrics(); ThreadPool.QueueUserWorkItem( s => { using (var reporter = new FileReporter(_filename)) { reporter.Start(3, TimeUnit.Seconds); while (true) { Thread.Sleep(1000); var runs = reporter.Runs; if (runs == ticks) { block.Set(); } } } }); block.WaitOne(TimeSpan.FromSeconds(5)); }
public void Can_run_with_known_counters() { RegisterMetrics(); using (var reporter = new FileReporter(_filename)) { reporter.Run(); } }
public void File_is_created_with_json_content() { RegisterMetrics(); using (var reporter = new FileReporter(_filename, new JsonReportFormatter(_metrics))) { reporter.Run(); Assert.IsTrue(File.Exists(_filename)); } var contents = File.ReadAllText(_filename); Console.WriteLine(contents); }
public void Can_stop() { var block = new ManualResetEvent(false); RegisterMetrics(); ThreadPool.QueueUserWorkItem( s => { var reporter = new FileReporter(Path.GetTempFileName()); reporter.Start(1, TimeUnit.Seconds); reporter.Stopped += delegate { block.Set(); }; Thread.Sleep(2000); reporter.Stop(); }); block.WaitOne(); }