Hello,
This visual studio solution contains samples for RhinoMock :
http://groups.google.com/group/rhinomocks/web/Documentation-Samples-RhinoMocks.zip
It contains exemple taken from the documentation :
http://www.ayende.com/wiki/Rhino+Mocks+Documentation.ashx
For each one, I wrote the minimum implementation to compile and pass
the test.
Indeed, lot of exemples written in the documentation are taken from
real project. There isn't any means to use them except to rewrite the
implementation.
It's really time consuming for a developer who'd like discover this
library.
I think it's very interesting to have such of things to save time for
developers who'd like to experiments.
Perhaps someone more experimented than me can correct some mistakes
and put in the documentation summary page.
The library used to compile the project are in the subdirectory lib
with license. Currently, it's :
- nunit 2.5.2
- RhinoMock 3.6
Remarks and difference with the documentation :
01-RhinoMocksIntroduction:
RhinoMocksIntroductionTest.cs
line 34 : You need to prefix the second param by ExpectedMessage=,
required by Nunit 2.5.2
04-RhinoMocksOrderedUnordered
RhinoMocksOrderedUnorderedTest.cs
line 73 : Dispose is a method without return. Implementation change
to be conform.
line 59 : Whatever the implementation, I don't succeed to pass this
test. I tried by deleting the Unordered calling and these methods
calling, it works fine.
Exception triggered :
RhinoMocksIntroduction.RhinoMocksOrderedUnorderedTest.MovingFundsUsingTransactions:
Rhino.Mocks.Exceptions.ExpectationViolationException :
IDatabaseManager.Dispose(); Expected #0, Actual #1.
06-RhinoMocksEvents
SubscribeToEventTest.cs
line 44 : I changed the implementation of test
VerifyingThatEventWasAttached_AAA. I am not very sure it's correct. If
someone could verify.
07-RhinoMocksIEventRaiser :
line 46 : We needs 2 params to raise an event
08-RhinoMocksProperties
RhinoMocksPropertiesTest.cs
Line 50 : Capacity property doesn't implement in IList, I used
ArrayList as a Mocking Class
Regards,
Fabien Arcellier