Moq stands in for a type with a mock, and configures how that mock answers member invocations.
Mock: An object standing in for a type. Avoid: stub, fake, double
Invocation: One call to a member of a mock, together with the arguments it received.
Setup: One configured member invocation on a mock. Avoid: expectation
Typed setup:
A setup addressed by calling the member on the mock, or by SetupRef. Its handlers receive that member's arguments.
Avoid: generated setup, untyped setup
Syntax setup:
A setup addressed by Syntax.Setup. Its handlers receive the invocation's argument collection. The lambda may walk through mocks returned from other members.
Avoid: untyped setup, recursive setup