Yes I have since changed my approach. I've also talked with Mark about approaching this.
The approach I take now is to generate a proxy to the object/class/interface that will record method calls. After recording you can then run verifications on those method calls. The way I generate the proxy for an interface came out of my talk with Mark. http://github.com/casualjim/caricature/blob/922bdcd11d9b0a1aa5500c3fe430483863d9041e/lib/caricature/proxy.rb#L92 But the deeper implication is then that when a library uses Expression<Func<,>> as parameters you cannot use it from ironruby at all? Not even by building the expression tree yourself? (I forgot to hit send apparently :)) --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero GSM: +32.486.787.582 Blog: http://flanders.co.nz Twitter: http://twitter.com/casualjim Author of IronRuby in Action (http://manning.com/carrero) Emo Philips <http://www.brainyquote.com/quotes/authors/e/emo_philips.html> - "I got some new underwear the other day. Well, new to me." On Sun, May 3, 2009 at 11:37 PM, Shri Borde <[email protected]>wrote: > It cannot be done. Even if you could get to the ExpressionTree of a Ruby > lambda, the ExpressionTree would be loosely-bound as Ruby uses duck-typing, > whereas Moq expects a strongly-typed ExpressionTree so that it can figure > out the exact method that you are trying to associate some expectation with. > > > > FWIW, Mark had also been playing with mocking, and in our discussions, we > said that the easiest mocking approach would be to use Ruby features like > method_missing, monkey-patching, etc (like rspec does). Ie. something like > this: > > > > def mock(clrInterface): > > class ClrMock < clrInterface > > # monkey-patch all of “clrInterface.methods" here, and redirect to the > mocking framework > > end > > return ClrMock.new > > end > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Ivan Porto Carrero > *Sent:* Sunday, May 03, 2009 3:18 AM > *To:* ironruby-core > *Subject:* [Ironruby-core] Building expressions > > > > Hi > > I'm trying to get some Moq mockery going in IronRuby but Moq expects > Expression<Func<MyObject, TReturn>> in his methods. > Is there a way to make a RubyProc/lambda return an expression or convert it > to an expression? > > --- > Met vriendelijke groeten - Best regards - Salutations > Ivan Porto Carrero > Author of IronRuby in Action (http://manning.com/carrero) > > Steve Martin<http://www.brainyquote.com/quotes/authors/s/steve_martin.html> - > "I've got to keep breathing. It'll be my worst business mistake if I > don't." > > _______________________________________________ > Ironruby-core mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list [email protected] http://rubyforge.org/mailman/listinfo/ironruby-core
