mock interfaces, delegates and classes, including those with parameterized constructors. set expectations on the called methods by using strongly typed mocks instead of strings. lends itself easily to refactoring & leaning on the compiler. allows a w…