I only consider the case where every action passed to Invoke has no dependency on another action.
I assume that the reader knows about multithreading, thread synchronization and lock expression. I strongly recommend you to read “C# in a Nutshell”, chapter 14, 22. Also see http://www.albahari.com/threading/
All actions you pass to Parallel.Invoke can also call Parallel.Invoke. Now Imagine that an argument is passed to an action of the top level Invoke, which is passed on to all actions in the following Invoke methods. These can also call Parallel.Invoke and pass the argument and so on. …
This post shall help us to answer the questions above and provide us with a common understanding.
The main source of this article is from the book “the art of unit testing” (mostly copied directly) and from the author’s blog http://osherove.com/blog/
Before we can answer the how (we write good tests) we need to first define the what (a good unit tests is).
In his book, Roy refers to the system under test (SUT) or unit under test (UUT) as unit of work. Everything we want to test, is considered a unit of work. …