public void Waiting_Cancel ()
		{
			Console.WriteLine ("Waiting_Cancel");

			var download = new Download ();
			download.Cancel ();
			Assert.AreEqual (State.Finished, download.State, "State");
		}
		public void Error_Cancel ()
		{
			Console.WriteLine ("Error_Cancel");

			var download = new Download ();
			bool failed = download.TryFail (404, TaskErrorEnum.DownloadError, "Not Found");
			Assert.AreEqual (true, failed, "Failed");
			download.Cancel ();
			Assert.AreEqual (State.Finished, download.State, "State");
		}
		public void Finished_Invalid1 ()
		{
			Console.WriteLine ("Finished_Invalid1");

			var download = new Download ();
			bool resumed = download.TryResume ();
			Assert.AreEqual (true, resumed, "Resumed");
			bool finished = download.TryFinish ("location");
			Assert.AreEqual (true, finished, "Finished");
			Assert.AreEqual ("location", download.Temporary, "Temporary");
			Assert.Throws<InvalidOperationException> (() => download.Cancel());
		}
		public void Downloading_Cancel ()
		{
			Console.WriteLine ("Downloading_Cancel");

			var download = new Download ();
			bool resumed = download.TryResume ();
			Assert.AreEqual (true, resumed, "Resumed");
			download.Cancel ();
			Assert.AreEqual (State.Finished, download.State, "State");
		}