public void RandomExtended_Pick() { using (var verify = new Verify()) { var rand = new RandomExtended(0); var source = new List <int>(); for (int i = 100; i < 200; i++) { source.Add(i); } for (int i = 0; i < 100; i++) { var item = rand.Pick(source); verify.IsBetween(100, item, 199, "Item couldn't be in the source list"); verify.IsFalse(source.Contains(item), "Item should have been removed from list"); } Assert.AreEqual(0, source.Count, "List should have been left empty"); } }
public void TaskUtilitiesTests_AutoCancelingTaskTest2() { using (var verify = new Verify()) { var timer = Stopwatch.StartNew(); var t = TaskUtilities.AutoCancelingTask(1000); Memory.CycleGC(); var result = t.WaitForCompleteOrCancel(); timer.Stop(); verify.IsFalse(result, "WaitForCompleteOrCancel should have returned false"); verify.IsTrue(t.IsCanceled, "Task should have been canceled."); verify.AreEqual(1.0, timer.Elapsed.TotalSeconds, 0.05, "Elapsed time was incorrect."); } }
public void TaskUtilitiesTests_WaitForCancelTest2() { using (var verify = new Verify()) { var cts = new CancellationTokenSource(500); var task = LongSleeper(verify, cts.Token); task.RunConcurrently(); var result = task.WaitForCompleteOrCancel(); verify.AreEqual(TaskStatus.Canceled, task.Status, "The task should have been canceled"); verify.IsFalse(result, "Assertion should be false because the task was canceled"); } }
public void RandomExtended_Pick2() { using (var verify = new Verify()) { var rand = new RandomExtended(0); var source = new List<int>(); for (int i = 100; i < 200; i++) source.Add(i); for (int i = 0; i < 100; i += 10) { var items = rand.Pick(source, 10); foreach (var item in items) { verify.IsBetween(100, item, 199, "Item couldn't be in the source list"); verify.IsFalse(source.Contains(item), "Item should have been removed from list"); } } Assert.AreEqual(0, source.Count, "List should have been left empty"); } }