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
>>
>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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