public void ServiceStoppedWritesToEventLog()
        {
            DistributorEventLogger logger = new DistributorEventLogger();
            using (var eventLog = new EventLogTracker(GetEventLog()))
            {
                logger.LogServiceStopped();

                Assert.AreEqual(1, eventLog.NewEntries().Count(ev => EventIsFromLogger(ev, logger)));
            }
        }
		public void ServiceStoppedWritesToEventLog()
		{
			DistributorEventLogger logger = new DistributorEventLogger(TestApplicationName);

			using (EventLog eventLog = GetEventLog())
			{
				int eventCount = eventLog.Entries.Count;

				logger.LogServiceStopped();

				Assert.AreEqual(eventCount + 1, eventLog.Entries.Count);
			}
		}
		public void ServiceStoppedFiresWmiEvent()
		{
			DistributorEventLogger logger = new DistributorEventLogger(TestApplicationName);

			using (WmiEventWatcher eventListener = new WmiEventWatcher(1))
			{
				logger.LogServiceStopped();

				eventListener.WaitForEvents();
				Assert.AreEqual(1, eventListener.EventsReceived.Count);
				Assert.AreEqual("DistributorServiceLifecycleEvent", eventListener.EventsReceived[0].ClassPath.ClassName);
				Assert.AreEqual(false, eventListener.EventsReceived[0].GetPropertyValue("Started"));
			}
		}