Krystof is looking into this as well

On 6/27/09, Kenneth Xu <[email protected]> wrote:
>
> Hi Tuna,
>
> This seems to be worse. When I ran the test, RhinoMocks was able to
> create the proxy object. It choked on the method call. With updated
> DP, you cannot even instantiate it now.
>
> Thanks for looking into this and trying on the latest DP. I appreciate it.
>
> Cheers,
> Kenneth
>
> On Sat, Jun 27, 2009 at 9:38 AM, Tuna Toksoz<[email protected]> wrote:
>> After updating Castle dlls on my local copy, below is what i get.
>>
>>
>>
>> MyTestCase : Failed
>>
>> *** Failures ***
>> Exception
>> System.MissingMethodException: Can't find a constructor with matching arguments ---> System.MissingMethodException: Constructor on type 'MyClassProxy64aace5742f44fb6b83beef215414c3b' not found.
>>    at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
>>    at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
>>    at System.Activator.CreateInstance(Type type, Object[] args)
>>    at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, Object[] constructorArguments, IInterceptor[] interceptors)
>>    at Rhino.Mocks.MockRepository.MockClass(CreateMockState mockStateFactory, Type type, Type[] extras, Object[] argumentsForConstructor) in D:\OpenSourceProjects\RhinoTools\mocks\Rhino.Mocks\MockRepository.cs:line 780
>>    --- End of inner exception stack trace ---
>>    at Rhino.Mocks.MockRepository.MockClass(CreateMockState mockStateFactory, Type type, Type[] extras, Object[] argumentsForConstructor) in D:\OpenSourceProjects\RhinoTools\mocks\Rhino.Mocks\MockRepository.cs:line 786
>>    at Rhino.Mocks.MockRepository.CreateMockObject(Type type, CreateMockState factory, Type[] extras, Object[] argumentsForConstructor) in D:\OpenSourceProjects\RhinoTools\mocks\Rhino.Mocks\MockRepository.cs:line 882
>>    at Rhino.Mocks.MockRepository.PartialMultiMock(Type type, Type[] extraTypes, Object[] argumentsForConstructor) in D:\OpenSourceProjects\RhinoTools\mocks\Rhino.Mocks\MockRepository.cs:line 536
>>    at Rhino.Mocks.MockRepository.PartialMock(Type type, Object[] argumentsForConstructor) in D:\OpenSourceProjects\RhinoTools\mocks\Rhino.Mocks\MockRepository.cs:line 511
>>    at Rhino.Mocks.MockRepository.PartialMock[T](Object[] argumentsForConstructor) in D:\OpenSourceProjects\RhinoTools\mocks\Rhino.Mocks\MockRepository.cs:line 1275
>>    at Rhino.Mocks.Tests.MyTest.MyTestCase() in D:\OpenSourceProjects\RhinoTools\mocks\Rhino.Mocks.Tests\MyTest.cs:line 23
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Tuna Toksöz
>> Eternal sunshine of the open source mind.
>>
>> http://devlicio.us/blogs/tuna_toksoz
>> http://tunatoksoz.com
>> http://twitter.com/tehlike
>>
>>
>>
>>
>> On Sat, Jun 27, 2009 at 2:53 PM, Tim Barcz <[email protected]> wrote:
>>>
>>> Though I don't have a fix for you the problem comes in with DP and the
>>> "List<string>[] action" param.  I don't know all the details but at one
>>> time
>>> (and maybe still exists) there was some goofiness around DP and generics.
>>> Playing with your code I found the following (draw your own conclusions)
>>>
>>> The test passes when:
>>>
>>> I get ride of the array as a param - public virtual void Foo<T>(List<T>
>>> action) { }
>>> I make the method NOT generic - public virtual void Foo(IList<string>
>>> action) { }
>>>
>>> It seems to be an issue with DP and generics, whether an array of lists
>>> (of type T) or making Foo a generic method.
>>>
>>> I'll enlist some DP experts who can hopefully help.
>>>
>>> Tim
>>>
>>> On Sat, Jun 27, 2009 at 12:22 AM, Kenneth Xu <[email protected]> wrote:
>>>>
>>>> Hi,
>>>>
>>>> Here is the test code to reproduce it.
>>>>    public abstract class MyClass
>>>>    {
>>>>        public virtual void Foo<T>(List<T>[] action) { }
>>>>
>>>>        /* ... */
>>>>    }
>>>>
>>>>    [TestFixture] public class MyTest
>>>>    {
>>>>        [Test] public void MyTestCase()
>>>>        {
>>>>            var mockery = new MockRepository();
>>>>            var mock = mockery.PartialMock<MyClass>();
>>>>            mockery.ReplayAll();
>>>>            mock.Foo<string>(null);
>>>>        }
>>>>    }
>>>>
>>>> Am I doing anything wrong here or this is a bug? from Castle dynamic
>>>> proxy?
>>>>
>>>> Thanks,
>>>> Kenneth
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Tim Barcz
>>> ASPInsider
>>> http://timbarcz.devlicio.us
>>> http://www.twitter.com/timbarcz
>>>
>>>
>>>
>>
>>
>> >
>>
>
> >
>

-- 
Sent from my mobile device

Tim Barcz
ASPInsider
http://timbarcz.devlicio.us
http://www.twitter.com/timbarcz

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino.Mocks" 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/RhinoMocks?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to