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