public void InstallsStartsAndCancels()
		{
			var host = new MultitaskingServiceHost();

			host.Install(new FakeHostedService());
			host.Install(new FakeHostedService());

			host.StartAll();

			Thread.Sleep(100);

			Assert.AreEqual(ServiceHostState.Started, host.State);

			host.CancelAll();

			Assert.AreEqual(ServiceHostState.Stopped, host.State);
		}
		public void StartAndCancelIndividualService()
		{
			var host = new MultitaskingServiceHost();

			var serviceId = host.Install(new FakeHostedService());

			host.Start(serviceId);

			Assert.AreEqual(ServiceHostState.Started, host.State);

			Thread.Sleep(100);

			Assert.AreEqual(HostedServiceState.Started, host.GetState(serviceId));

			host.Cancel(serviceId);

			Assert.AreEqual(ServiceHostState.Stopped, host.State);
			Assert.AreEqual(HostedServiceState.Stopped, host.GetState(serviceId));
		}
		public void GetStateFailsForMissingService()
		{
			var host = new MultitaskingServiceHost();

			host.GetState(Guid.NewGuid());
		}
		public void CancelFailsForMissingService()
		{
			var host = new MultitaskingServiceHost();

			host.Cancel(Guid.NewGuid());
		}
		public void StartsWithoutError()
		{
			var host = new MultitaskingServiceHost();

			host.StartAll();

			Assert.AreEqual(ServiceHostState.Started, host.State);
		}
		public void StartsAndCancels()
		{
			var host = new MultitaskingServiceHost();

			host.StartAll();

			Assert.AreEqual(ServiceHostState.Started, host.State);

			host.CancelAll();

			Assert.AreEqual(ServiceHostState.Stopped, host.State);
		}
		public void StartFailsForMissingService()
		{
			var host = new MultitaskingServiceHost();

			host.Start(Guid.NewGuid());
		}