public void SingletonReturnsSameValueWhenCalledInMultipleThreads() { StrategyChain strategies = GetStrategies(); IPolicyList policies = GetPolicies(); BuilderOnThread threadResults1 = new BuilderOnThread(strategies, policies); BuilderOnThread threadResults2 = new BuilderOnThread(strategies, policies); Task task1 = new Task(threadResults1.Build); Task task2 = new Task(threadResults2.Build); task1.Start(); task2.Start(); Task.WaitAll(task1, task2); Assert.Same(threadResults1.Result, threadResults2.Result); }
public void SingletonReturnsSameValueWhenCalledInMultipleThreads() { StrategyChain strategies = GetStrategies(); IPolicyList policies = GetPolicies(); BuilderOnThread threadResults1 = new BuilderOnThread(strategies, policies); BuilderOnThread threadResults2 = new BuilderOnThread(strategies, policies); Task task1 = new Task(threadResults1.Build); Task task2 = new Task(threadResults2.Build); task1.Start(); task2.Start(); Task.WaitAll(task1, task2); Assert.Same(threadResults1.Result, threadResults2.Result); }