Beispiel #1
0
        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));
        }
Beispiel #2
0
 internal DisposableTest(T testObject, DisposeInterceptor interceptor)
 {
     TestObject   = testObject;
     _interceptor = interceptor;
 }