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