[Ironruby-core] IronRuby projects newsletter

Ivan Porto Carrero ivan at flanders.co.nz
Sun May 10 04:27:08 EDT 2009

1: Yes stubbed by default and only when you're actually interested in
asserting if it was called you use the was_told_to? assertion2: Yes always
null unless you explicitly tell it to fall through to the implementation of
the method. I may make use of the default(T) thing later on to return the
default value for value types.
3: no problem I was just curious about that
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)

Emma Goldman <http://www.brainyquote.com/quotes/authors/e/emma_goldman.html>
- "If voting changed anything, they'd make it illegal."

On Sun, May 10, 2009 at 10:21 AM, Jim Deville <jdeville at microsoft.com>wrote:

>  1. Other features: I don't use most of the fancy features, but I do find stubs useful. Do you expect people to use when_told_to without was_told_to? in order to stub something out?
> 2. I also find the 'null object' pattern useful. That is where the isolated object always returns nil to methods called on it.
> 3. Finally, I've been slow on pushing lately because I'm moving, I'll do a push when I get to decent internet. I'll also work on automating thid in the next couple of weeks.
> JD
> ....there is no try
> Sent from my phone. Please excuse typos and txtspk.
> -----Original Message-----
> From: Ivan Porto Carrero <ivan at flanders.co.nz>
> Sent: May 10, 2009 1:11 AM
> To: ironruby-core at rubyforge.org <ironruby-core at rubyforge.org>
> Subject: Re: [Ironruby-core] IronRuby projects newsletter
> Yesterday I actually finished my implementation I think.  I will probably
> need to add some more matchers and expectations. I'm now documenting the
> thing, creating the gemspecs and applying to rubyforge so that I can release
> the gem on rubyforge too.
>  From the start I wanted to do away with names like mock, stub, record,
> replay, verify etc.  Instead I took the advice from Roy Osherhove and went
> with a name of Isolator (Isolation might be better though) for creating a
> mock.
>  An Isolator will create what in Rhino.Mocks would be called a
> PartialDynamicMock :)  In Moq it would be the Loose mocking strategy.
>  The naming of the methods for creating mocks is the one that JP Boodhoo
> proposed WhenToldTo and WasToldTo.
> To specify a stub/expectation on a mock you have one and only one way of
> doing that with the method called when_told_to.
> Then when you're asserting you can use the was_told_to method
>  mock = Isolator.for(Ninja)
> mock.when_told_to(:attack) do |exp|
>   exp.with(:shuriken)
>   exp.return(3)
> end
>  Battle.new(mock)
> battle.combat
>  mock.was_told_to?(:attack).should.be.successful
>  Caricature handles interfaces, interface inheritance, CLR objects, CLR
> object instances, Ruby classes and instances of Ruby classes.
>  I only embarked on this project because I really want to get IronRubyMVC
> spec'ed with a ruby testing framework, on the other hand it has been good
> fun.
>  So now I'm trying to find out if people actually want more from a mocking
> library than setting expectations, verifying those expectations on arguments
> and/or number of times called.
>  I find that when I use mocking I tend to stay away of the fancy stuff and
> that it was this fancy stuff that confused the hell out of me in the
> beginning because I needed to give it a place (which turned out to be
> oblivion :) )  Along with all the confusion that grew out of StrictMock,
> DynamicMock, PartialMock and Stub.
>  So if anybody is up to reviewing the code please do. I welcome all
> suggestions, issue submissions etc.
>  I couldn't add support for events yet and commented out the spec that
> tests that. I saw a tweet passing by from Curt where he was too tired to
> test the event support. Then downloaded the latest git but it still won't
> work. Do I need to submit a bug for that or just be a little bit more
> patient ?
>  ---
> 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)
> Bernard Baruch<http://www.brainyquote.com/quotes/authors/b/bernard_baruch.html> - "Vote for the man who promises least; he'll be the least disappointing."
> On Sun, May 10, 2009 at 3:00 AM, Mark Ryall <mark.ryall at gmail.com> wrote:
>> Hi everyone,
>>  Ivan and I have taken the interesting approach to collaboration by each
>> working on our own subtly different mock objects implementation,
>> communicating regularly and stealing each other's ideas where necessary.
>>  I released my crude attempt yesterday in case anyone wants to play
>> around with it:
>>  gem install markryall-orangutan (from gems.github.com)
>>  or
>>  gem install orangutan (from rubyforge)
>>  At this stage, you can only create stubs that implement a clr interface
>> (as well as pure ruby stubs) and then tell them how to behave (return
>> values, raise errors and yield values).  I'll add subclassing of clr classes
>> and a nicer DSL for checking what actually happened.
>>  See http://github.com/markryall/orangutan/tree/master and
>> http://github.com/casualjim/caricature/tree/master
>>  Before long, we'll combine our efforts into one super mock object
>> library that will mock objects like they've never been mocked before.
>>  Mark.
>>  On Fri, May 8, 2009 at 5:00 AM, Shri Borde <Shri.Borde at microsoft.com>wrote:
>>>   This “newsletter” is just part of the contents of
>>> http://wiki.github.com/ironruby/ironruby/contributing for your reading
>>> convenience, filtered down to projects with an updated status since last
>>> time. A number of the projects have made good progress since a few weeks
>>> ago. Please take a look at the projects that interest you, give feedback to
>>> the project owners for bugs or features you care about, and discuss ways of
>>> being involved if you are interested.
>>> Regards,
>>> Shri
>>>  Mixing Ruby mocking with .NET mocking frameworks
>>> Mark Ryall, Ivan Porto Carrero
>>> Investigated Moq and NMock and found that they were not a good match. A
>>> project called Caricature <http://github.com/casualjim/caricature/> has
>>> been started to implement mocking directly in IronRuby
>>> Hpricot <http://github.com/nrk/ironruby-hpricot/>
>>> Daniele Alessandri
>>> Status: the master branch (compatible with Hpricot 0.6.164) and the
>>> 0.7_experimental branch (compatible with Hpricot 0.8.1) in the repository
>>> both pass all the tests of the original Hpricot test suite, what is left is
>>> a major clean up and some refinements to the code.
>>> Json <http://github.com/nrk/ironruby-json>
>>> Daniele Alessandri
>>> Status: it somewhat works but needs to be tested, so bugs are expected at
>>> this stage. A rewriting of the original definition file for Ragel is planned
>>> to improve the C# code of the ParserEngine class which currently is not so
>>> object oriented.
>>> IRDb <http://github.com/rvernagus/irdb>
>>> Project State: Alpha
>>> Developer(s): Ray Vernagus <http://github.com/rvernagus>
>>> A Ruby wrapper on top of the .NET Data Provider Model.<http://msdn.microsoft.com/en-us/library/a6cd7c08.aspx>This wrapper will become the basis for an ActiveRecord adapter giving
>>> IronRuby developers the ability to use the ActiveRecord gem with their
>>> choice of database.
>>>   Rails <http://rubyonrails.org>
>>> Jimmy Schementi, Ray Vernagus
>>> Details status about setting up Rails, running the unit tests, etc, is at
>>> http://www.ironruby.net/Documentation/Rails.
>>> OpenSSL <http://www.ruby-doc.org/stdlib/libdoc/openssl/rdoc/index.html>
>>> Jirapong Nanta
>>> Status: There are about 330 methods for OpenSSL library. Less than ten
>>> RubySpec <http://wiki.github.com/ironruby/ironruby/rubyspec> are
>>> available. The focus of the project will be implementation the functionality
>>> that is needed for RubyGems and Rails scenarios. e.g.
>>> OpenSSL::X509::Certificate. Current results of running mspec ci
>>> library\openssl can be found here <http://gist.github.com/100649>.
>>> Work process:
>>> * Checkout ruby 1.8 source code
>>> * review OpenSsl implementation in C (ruby_1_8\ext\openssl)
>>> * review OpenSsl usage in RubyGems (e.g. rubygems\lib\rubygems\gem_openssl.rb)
>>> * write RubySpec
>>> * implement a wrapper to System.Security.Cryptography namespaces
>>> * Refactor < - > Push
>>> Some useful documentations can be found at
>>> http://technorama.net/~oss/ruby/openssl/doc/
>>> Porting SOAP Weather Widget<http://silverlight.net/community/gallerydetail.aspx?cat=sl2>
>>> Shay Friedman
>>> Status – project was created, started porting the Silverlight code.
>>> RubyGems
>>> Shri Borde, Jirapong Nanta
>>> We have reduced the number of failueres from 200+ down to about 20. The
>>> current results are here <http://gist.github.com/92738>. The tests can
>>> now be run from a Dev.bat<http://wiki.github.com/ironruby/ironruby/devbat>environment, and will soon be part of continuous integration. So this
>>> project is mostly wrapping up (successfully).
>>> Cucumber
>>> Chamini Gallage
>>> Blocking IronRuby bug has been fixed. Need to try again with a newer
>>> IronRuby version
>>> _______________________________________________
>>> Ironruby-core mailing list
>>> Ironruby-core at rubyforge.org
>>> http://rubyforge.org/mailman/listinfo/ironruby-core
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090510/d395c9db/attachment.html>

More information about the Ironruby-core mailing list