public IReplayScenarioHandler Create(IIterationControl iterationContext)
        {
            IReplayScenario <TData> scenarioInstance = _scenarioFactory.Create(iterationContext.ThreadId);
            IReplayScenarioHandler  scenarioHandler  = new ReplayScenarioHandler <TData>(_globalCounters, new NotThreadSafeIdGenerator(), scenarioInstance, iterationContext);

            return(scenarioHandler);
        }
Esempio n. 2
0
        public static IterationResult Validate <TData>(this IReplayScenario <TData> scenario, DataItem data, int threadId = 0, int threadIterationId = 0, int globalIterationId = 0)
        {
            ExecutionTimer    timer          = new ExecutionTimer();
            ThreadSafeCounter errorsCounter  = new ThreadSafeCounter();
            GlobalCounters    globalCounters = new GlobalCounters(errorsCounter, new MockedIdGenerator(globalIterationId));
            IIterationControl context        = new IterationContext(threadId, timer);

            ReplayScenarioHandler <TData> handler = new ReplayScenarioHandler <TData>(globalCounters, new MockedIdGenerator(threadIterationId), scenario, context);

            timer.Start();

            handler.Init();
            handler.PrepareNext();
            handler.SetData(data.Value, data.TimeStamp);
            handler.Execute();

            IterationResult result = new IterationResult(context, new WorkerThreadStats());

            handler.Cleanup();

            timer.Stop();

            return(result);
        }