public void ContiniousTasksCancelledOnDelayTest()
		{
			LongTask longTask = new LongTask();
			Assert.AreEqual(LongTaskState.NotStarted, longTask.State);

			Task task = longTask.StartTask();
			Thread.Sleep(500);
			Assert.AreEqual(LongTaskState.Started, longTask.State);

			longTask.Cancel();
			Thread.Sleep(500);
			Assert.AreEqual(LongTaskState.Started, longTask.State);

			if (!task.IsCompleted)
			{
				task.Wait();
			}
		}
		public void ContiniousTasksCompletionTest()
		{
			LongTask longTask = new LongTask();
			Assert.AreEqual(LongTaskState.NotStarted, longTask.State);

			Task task = longTask.StartTask();
			Thread.Sleep(500);
			Assert.AreEqual(LongTaskState.Started, longTask.State);

			Thread.Sleep(600);
			Assert.AreEqual(LongTaskState.InAction, longTask.State);

			Thread.Sleep(1100);
			Assert.AreEqual(LongTaskState.Completed, longTask.State);

			if (!task.IsCompleted)
			{
				task.Wait();
			}
		}