public void ConstructorDoesNotAllowNullClient()
 {
     try
     {
         var watcher = new PollingServerWatcher(null);
         Assert.Fail("ArgumentNullException was expected");
     }
     catch (ArgumentNullException) { }
 }
        public void RefreshCallsClientAndFiresEvent()
        {
            var snapshot = new CruiseServerSnapshot();
            var client = mocks.StrictMock<CruiseServerClientBase>();
            using (var watcher = new PollingServerWatcher(client))
            {
                Expect.Call(client.GetCruiseServerSnapshot()).Return(snapshot);
                mocks.ReplayAll();

                var eventFired = false;
                watcher.Update += (o, e) =>
                {
                    eventFired = true;
                };
                watcher.Refresh();

                mocks.VerifyAll();
                Assert.IsTrue(eventFired);
            }
        }
        public void PollingCallsClientAndFiresEvent()
        {
            var monitor = new ManualResetEvent(false);
            var snapshot = new CruiseServerSnapshot();
            var client = mocks.StrictMock<CruiseServerClientBase>();
            using (var watcher = new PollingServerWatcher(client))
            {
                Expect.Call(client.GetCruiseServerSnapshot()).Return(snapshot);
                mocks.ReplayAll();

                var eventFired = false;
                watcher.Update += (o, e) =>
                {
                    eventFired = true;
                    monitor.Set();
                };
                monitor.WaitOne(new TimeSpan(0, 0, 10), false);

                mocks.VerifyAll();
                Assert.IsTrue(eventFired);
            }
        }