public static TProxy Create <TProxy>() where TProxy : class { var proxyType = typeof(TProxy); var interceptor = new Interceptor(); var proxyGenerationHook = new ProxyGenerationHook(); var interceptorSelector = new InterceptorSelector(); var proxyGenerationOptions = new ProxyGenerationOptions(proxyGenerationHook) { Selector = interceptorSelector }; var proxyGenerator = new ProxyGenerator(); var proxy = proxyType.IsInterface ? proxyGenerator.CreateInterfaceProxyWithoutTarget <TProxy>(proxyGenerationOptions, interceptor) : proxyGenerator.CreateClassProxy <TProxy>(proxyGenerationOptions, interceptor); MockInvocationCache.Clear(proxy); return(proxy); }
public static void Verify <TProxy>(this TProxy proxy) where TProxy : class { MockInvocationCache.Verify(proxy); }
public static void Return(this IArrangement arrangement, object value) { arrangement.SetReturnValue(value); MockInvocationCache.Add(arrangement); }
public static void Arrange <TProxy>(this TProxy proxy, Expression <Action <TProxy> > expression) where TProxy : class { var arrangement = expression.CreateArrangementMethodVoid(proxy); MockInvocationCache.Add(arrangement); }