public static DisposableTest <TDis> Create <TDis>(Func <TDis> targetFactoryFunc) where TDis : class, IDisposable { Guard.That(() => typeof(TDis).IsInterface, "Disposable type has to be an Interface."); var generator = new ProxyGenerator(); var interceptor = new DisposeInterceptor(); var proxy = generator.CreateInterfaceProxyWithTarget(targetFactoryFunc(), interceptor); return(new DisposableTest <TDis>(proxy, interceptor)); }
internal DisposableTest(T testObject, DisposeInterceptor interceptor) { TestObject = testObject; _interceptor = interceptor; }