public void SetUp() { grinderContextMock = TestUtils.CreateContextMock(); loggerMock = TestUtils.CreateLoggerMock(); grinderContextMock.Setup(c => c.GetLogger(typeof(VerificationWorker))).Returns(loggerMock.Object); grinderContextMock.Setup(c => c.CreateTest(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <IGrinderTest>())).Returns((int i, string s, IGrinderTest t) => t); var processContext = TestUtils.CreateProcessContext(null, null, null, grinderContextMock.Object); worker = new VerificationWorker { ProcessContext = processContext, GrinderContext = grinderContextMock.Object }; }
private bool Run(CommandProcessorContext context, int writers, int readers, int events) { context.IsAsync(); var created = new AutoResetEvent(false); var done = new AutoResetEvent(false); var coordinator = new Coordinator(context, Producers, events, created, done); coordinator.Start(); var verificationWorkers = new VerificationWorker[readers]; for (int i = 0; i < verificationWorkers.Length; i++) { verificationWorkers[i] = new VerificationWorker(string.Format("verifier {0}", i), coordinator, context.Client.Options.ReadWindow); } var writerWrokers = new WriteWorker[writers]; for (int i = 0; i < writerWrokers.Length; i++) { writerWrokers[i] = new WriteWorker(string.Format("writer {0}", i), coordinator, context.Client.Options.WriteWindow); } foreach (var worker in verificationWorkers) { worker.Start(); } foreach (var worker in writerWrokers) { worker.Start(); } created.WaitOne(); done.WaitOne(); foreach (var worker in verificationWorkers) { worker.Stop(); } foreach (var worker in writerWrokers) { worker.Stop(); } context.Success(); return(true); }