public void MainProcessor_Progress() { IMainProcessor processor = new MainProcessor(); Assert.AreEqual(0, processor.QueueLength); processor.Add("1"); processor.Add("2"); processor.Add("3"); processor.Add("4"); processor.Add("5"); bool exit; while (true) { exit = true; for (int i = 1; i < 6; i++) { Thread.Yield(); if (processor.GetStatus(i.ToString()).Status != ProcessStatusEnum.Done) { exit = false; break; } } if (exit) { break; } } for (int i = 1; i < 6; i++) { Assert.AreEqual(ProcessStatusEnum.Done, processor.GetStatus(i.ToString()).Status); Assert.AreNotEqual(0.0, processor.GetStatus(i.ToString()).Progress); Trace.WriteLine($"{i.ToString()} - {processor.GetStatus(i.ToString()).Progress.ToString()}"); } Assert.AreEqual(5, processor.Processed); }
public void MainProcessor_Add() { IMainProcessor processor = new MainProcessor(); Assert.AreEqual(0, processor.QueueLength); processor.Add("1"); Assert.AreEqual(1, processor.QueueLength); while (processor.Processed == 0) { Thread.Yield(); } Assert.AreEqual(0, processor.QueueLength); Assert.AreEqual(1, processor.Processed); Assert.AreEqual(ProcessStatusEnum.Done, processor.GetStatus("1").Status); }
public void MainProcessor_Remove() { IMainProcessor processor = new MainProcessor(); Assert.AreEqual(0, processor.QueueLength); processor.Add("1"); Assert.AreEqual(1, processor.QueueLength); while (processor.QueueLength > 0) { Thread.Yield(); } processor.Remove("1"); while (processor.Processed == 0) { Thread.Yield(); } Assert.AreEqual(0, processor.QueueLength); Assert.IsNull(processor.GetStatus("1")); }