コード例 #1
0
ファイル: PerformanceTests.cs プロジェクト: gja/LightProxy
        public void ShouldBeReallyReallyFast()
        {
            IFoo original = new Blah();

            var foo = original;
            using (Time.This)
                for (int i = 0; i < 1000000L; i++) { foo.Junk(); }

            foo = generator.GenerateProxy(foo);
            using (Time.This)
                for (int i = 0; i < 1000000L; i++) { foo.Junk(); }

            foo = generator.GenerateProxy(foo, new DoNothingInterceptor());
            using (Time.This)
                for (int i = 0; i < 1000000L; i++) { foo.Junk(); }

            foo = generator.GenerateProxy(foo, new DoNothingInterceptor(), new DoNothingInterceptor());
            using (Time.This)
                for (int i = 0; i < 1000000L; i++) { foo.Junk(); }
        }
コード例 #2
0
ファイル: ProxyGeneratorTest.cs プロジェクト: gja/LightProxy
        public void ShouldStoreBackingObjectAndInterceptors()
        {
            var backingObject = new Blah();
            var blah = generator.GenerateProxy<IFoo>(backingObject);

            var backing = blah.GetType().GetField("backingObject");
            backing.GetValue(blah).ShouldBe(backingObject);
        }