[Test]
        public void 
SelectorWorksForInterfacesOfInterfaceProxyWithoutTarget()
        {
            var options = new ProxyGenerationOptions
            {
                Selector = new 
TypeInterceptorSelector<ReturnFiveInterceptor>()
            };
            var proxy =
                
generator.CreateInterfaceProxyWithoutTarget(typeof(ISimpleInterface),
                                                            new[] 
{typeof(ISimpleInterfaceWithProperty)}, options,
                                                            new 
ReturnFiveInterceptor()) as ISimpleInterfaceWithProperty;
            Assert.IsNotNull(proxy);
            var i = proxy.Age;
            Assert.AreEqual(5, i);
        }
All green.
I will package them up into a patch as soon as I figure out how to 
change my VS to use tabs instead of spaces ;)

Krzysztof

Craig Neuwirt pisze:
> The only other test would be to pass an additional interface in the 
> ProxtOptions which is what WCF does (IContextChannel in that case(
>
> 2009/1/18 Krzysztof Koźmic <[email protected] 
> <mailto:[email protected]>>
>
>     Craig Neuwirt pisze:
>>     So will this still work with interface proxy without target?
>     like a charm.
>
>     I added these two tests to check for that and they both pass. Any
>     other scenario you had in mind?
>
>
>             [Test]
>             public void SelectorWorksForInterfaceProxyWithoutTarget()
>             {
>                 var options = new ProxyGenerationOptions
>                                   {
>                                       Selector = new
>     TypeInterceptorSelector<ReturnNewTInterceptor>()
>                                   };
>                 var proxy =
>                    
>     generator.CreateInterfaceProxyWithoutTarget(typeof(ISimpleInterface),
>     new Type[0], options,
>                                                                 new
>     ReturnNewTInterceptor()) as ISimpleInterface;
>                 Assert.IsNotNull(proxy);
>                 var i = proxy.Do();
>                 Assert.AreEqual(0, i);
>             }
>
>             [Test]
>             [ExpectedException(typeof(NotImplementedException),
>     ExpectedMessage = "This is a DynamicProxy2 error: the interceptor
>     attempted to 'Proceed' for a method without a target, for example,
>     an interface method or an abstract method")]
>             public void
>     
> ProxyThrowsForInterfaceProxyWithoutTargetWhenSelectorSelectsNoInterceptor()
>             {
>                 var options = new ProxyGenerationOptions
>                 {
>                     Selector = new
>     TypeInterceptorSelector<AddTwoInterceptor>()
>                 };
>                 var interceptor = new CallCountingInterceptor();
>                 var proxy =
>                    
>     generator.CreateInterfaceProxyWithoutTarget(typeof(ISimpleInterface),
>     new Type[0], options,
>                                                                
>     interceptor) as ISimpleInterface;
>                 Assert.IsNotNull(proxy);
>                 var i = proxy.Do();
>
>             }
>
>>
>>     2009/1/18 Jonathon Rossi <[email protected]
>>     <mailto:[email protected]>>
>>
>>         Applied in r5522. Also removed UseSelector property as indicated.
>>
>>         Please use tabs next time :)
>>
>>         Thanks. If you find any problems let me know so we can get
>>         them sorted.
>>
>>
>>         On Wed, Jan 14, 2009 at 8:49 AM, Krzysztof Koźmic
>>         <[email protected]
>>         <mailto:[email protected]>> wrote:
>>
>>
>>             Hi,
>>
>>             I finally found some time to sit and re-implement the
>>             iinterceptor
>>             selector support in DP like we discussed in the other thread.
>>             I uploaded the patch here:
>>             
>> http://support.castleproject.org/projects/DYNPROXY/issues/view/DYNPROXY-ISSUE-37
>>             (the *_byref file)
>>             along with screenshot that shows how generated code looks
>>             now.
>>             Please review it and if you have any comments or find any
>>             issues with
>>             the patch, ping me.
>>
>>             PS
>>
>>             After I uploaded it I remembered that I forgot to remove
>>             the UseSelector
>>             property. If you're going to apply the patch, please
>>             remove it first (it
>>             affects few classes and tests so they will have to be
>>             updated as well)
>>
>>             cheers
>>
>>             Krzysztof
>>
>>
>>
>>
>>
>>         -- 
>>         Jonathon Rossi
>>
>>
>>
>>
>>
>>
>
>
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Development List" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/castle-project-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to