I don't want to override Equals in my object, I want to override the
way Rhino mocks is implementing the equals

On Jun 21, 7:10 pm, Tim Barcz <[email protected]> wrote:
> Can you just override Equals() in whatever object type is returned
> by NewObjectUnderTest().WithProperty1("value1").Build();
>
> The reason reference equality is used is that you've likely not overridden
> Equals method.  If you can tell .Net and by extension Rhino when two objects
> are equal, the call below should work as you would like.
>
> On Mon, Jun 21, 2010 at 11:42 AM, Dewy <[email protected]>wrote:
>
>
>
> > This is the thing, I don't want the objects to act different at all. I
> > want the objects to always use one type of equality, but using Rhino
> > Mocks as is will use refernce equality by default.
> > So, say I have a Mock service MyService and I can say something like:
>
> > [Test]
> > public void MyTest()
> > {
> >    var objectUnderTest =
> > NewObjectUnderTest().WithProperty1("value1").Build(); // Using a
> > builder
>
> >    objectUnderTest.MyService = MockMyService; // Setup in TestSetup
>
> >    MockMyService.Expect(() => s =>
> > s.SomeMethodCall(objectUnderTest));
>
> >    // do test
> >    objectUnderTest.TestMethod(); // Changes Property1 to 'value2'
> > then calls SomeMethodCall
> > }
>
> > So, doing it this way works, but doesn't really tell me anything. What
> > I really want to do is something like:
>
> > [Test]
> > public void MyTest()
> > {
> >    var objectUnderTest =
> > NewObjectUnderTest().WithProperty1("value1").Build(); // Using a
> > builder
>
> >    objectUnderTest.MyService = MockMyService; // Setup in TestSetup
>
> >    MockMyService.Expect(() => s =>
> > s.SomeMethodCall(NewObjectUnderTest().WithProperty1("value2").Build()));
>
> >    // do test
> >    objectUnderTest.TestMethod();
> > }
>
> > And then have Rhino mocks use my version of equals but I don't want to
> > have to say use this contraint all over the place.
> > Does this make sense?
>
> > So, what I am looking for is way to change the default implementation
> > of equals within Rhino mocks, such that I don't have to change a line
> > in my tests, maybe in my test setups.
>
> > On Jun 21, 3:44 pm, Stephen Bohlen <[email protected]> wrote:
> > > I admit to some confusion about why you're trying to have objects behave
> > one
> > > way (with value equality) when under test but not when in production
> > > (presumably reverting to their default reference equality).  This seems
> > to
> > > me to be at best confusing and worst rendering your tests mostly useless.
>
> > > Can you expand a bit on the context of why you would even want this in
> > your
> > > tests (as I am very curious)?
>
> > > Steve Bohlen
> > > [email protected]http://blog.unhandled-exceptions.comhttp://
> > twitter.com/sbohlen
>
> > > On Mon, Jun 21, 2010 at 8:54 AM, Dewy <[email protected]
> > >wrote:
>
> > > > In our tests we use Value Equality on our objects to check that they
> > > > have the same values rather than being the same object.
> > > > When we set up expectations we have gotten around this by making all
> > > > our objects be Value Objects (via base class and override of Equals)
> > > > which we don't really want in the production code.
>
> > > > I see that there is a way to get around this by creating new
> > > > constraints where we can do as we see fit.
> > > > What I am really looking for is a way to override ALL equality for all
> > > > mocks, such that we don't have to say on every Expect(...) that we
> > > > want to use a custom constraint, say some way to override this when we
> > > > first create the MockRepository?
> > > > Is there a way already to do this?
>
> > > > --
> > > > 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]<rhinomocks%[email protected]>
> > <rhinomocks%[email protected]<rhinomocks%[email protected]>
>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/rhinomocks?hl=en.
>
> > --
> > 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]<rhinomocks%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/rhinomocks?hl=en.
>
> --
> Tim Barcz
> Microsoft C# MVP
> Microsoft ASPInsiderhttp://timbarcz.devlicio.ushttp://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.

Reply via email to