Hi
I'm using internal methods in my classes and I've noticed that
PartialMock doesn't handle them correctly.
Here we have a simple test:
using System;
using Rhino.Mocks;
using NUnit.Framework;
namespace UnitTests
{
[TestFixture]
public class RhinoMockTests
{
public MockRepository Mockery;
[SetUp]
public void SetUp()
{
Mockery = new MockRepository();
}
[Test]
public void SetResult_WithOne_DoDeletateWithTwoAndResultIsTwo()
{
SimpleClass sut = Mockery.PartialMock<SimpleClass>();
using (Mockery.Record())
{
Expect.Call(delegate { sut.SetResult("1"); })
.IgnoreArguments()
.Do((Action<string>) delegate{
sut.Result = "2"; })
.Repeat.Once();
}
using (Mockery.Playback())
{
sut.SetResult("1");
Assert.AreEqual("2", sut.Result);
}
}
}
public class SimpleClass
{
public string Result;
internal virtual void SetResult(string txt)
{
Result = txt;
throw new Exception("I shouldn't be called");
}
}
}
In this test we will get Exception("I shouldn't be called"), but if
we made SetResult as public not virtual then test will pass.
Greetings
rod
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---