public static T Match <T>(Action <T> action) { var matcher = new AssertionMatcher <T>(action); var innerArgumentSpecification = new ArgumentSpecification(typeof(T), matcher); var fluentArgumentSpecification = new FluentArgumentSpecification(innerArgumentSpecification, matcher); substitutionContextAtStart.EnqueueArgumentSpecification(fluentArgumentSpecification); return(default(T)); }