public void UsesBuildLogInstancePerExecutionPipelineTest()
{
var buildStrategy = Model.BuildStrategy;
const int MaxTasks = 100;
var tasks = new List<Task<string>>(MaxTasks);
for (var index = 0; index < MaxTasks; index++)
{
var loopIndex = index;
var task = Task<string>.Factory.StartNew(
() =>
{
var strategy = buildStrategy.GetExecuteStrategy<Empty>();
strategy.CreateWith();
return "Iteration " + loopIndex + " on thread " + Thread.CurrentThread.ManagedThreadId +
Environment.NewLine + strategy.Log.Output;
});
tasks.Add(task);
}
Task.WhenAll(tasks).Wait();
for (var index = 0; index < MaxTasks; index++)
{
_output.WriteLine(tasks[index].Result + Environment.NewLine);
}
}
}