public void ProcessCoordinatorConstructorTest() { var target = new ProcessCoordinator_Accessor(new PrivateObject(new ProcessCoordinator())); Assert.IsNotNull(target.Processes); //TODO: (SD) Add test for testing Zeroed to be non null and have >0 invocation list. }
public void processJoinCallbackTest() { var target = new ProcessCoordinator_Accessor(); var ar = MockRepository.GenerateStub<IAsyncResult>(); //target.log = MockRepository.GenerateStub<TraceSource>(); var process1 = MockRepository.GenerateStub<IProcess>(); var process2 = MockRepository.GenerateStub<IProcess>(); process1.Expect(p => p.Start()); process2.Expect(p => p.Start()); process1.Expect(p => p.Stop()); process2.Expect(p => p.Stop()); target.Processes.AddRange(new List<IProcess> { process1, process2 }); target.Start(); target.numberOfProcessesRunning.Zeroed += numberOfProcessesRunning_Zeroed; Assert.AreEqual(2, target.numberOfProcessesRunning.SyncValue); target.Stop(); Assert.AreEqual(0, target.numberOfProcessesRunning.SyncValue); Assert.IsTrue(numberOfProcesesesZeroedCalled, "numberOfProceseses.Zeroed event is expected to be called!"); //TODO: (SD) Add tests for exceptional scenarios // overall this test happened to be more integration test than a unit test, // will change it in the future }