|
From: <joe...@us...> - 2002-11-15 22:31:14
|
Update of /cvsroot/nmock/nmock/test/NMock
In directory usw-pr-cvs1:/tmp/cvs-serv30242/test/NMock
Modified Files:
MockTest.cs DynamicMockTest.cs
Removed Files:
ConditionsTest.cs
Log Message:
- Added sensible error messages
- Renamed IMock.Object to IMock.MockInstance
- Renamed Conditions to Constraints and moved to new namespace.
- Renamed eval() to Eval() (.NET conventions).
- Renamed IMock.SetValue() to IMock.SetupResult (as in Java MockObjects).
Index: MockTest.cs
===================================================================
RCS file: /cvsroot/nmock/nmock/test/NMock/MockTest.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** MockTest.cs 11 Nov 2002 20:00:21 -0000 1.3
--- MockTest.cs 15 Nov 2002 22:31:10 -0000 1.4
***************
*** 1,3 ****
--- 1,4 ----
using NUnit.Framework;
+ using NMock.Constraints;
namespace NMock
***************
*** 189,193 ****
[Test]
! public void DefaultEqualsCondition()
{
object o = new object();
--- 190,194 ----
[Test]
! public void DefaultEqualsConstraint()
{
object o = new object();
***************
*** 198,202 ****
[Test]
[ExpectedException(typeof(VerifyException))]
! public void DefaultEqualsConditionFailure()
{
mock.Expect("myMethod", new object());
--- 199,203 ----
[Test]
[ExpectedException(typeof(VerifyException))]
! public void DefaultEqualsConstraintFailure()
{
mock.Expect("myMethod", new object());
***************
*** 205,209 ****
[Test]
! public void DefaultAnythingCondition()
{
mock.Expect("myMethod", null, null);
--- 206,210 ----
[Test]
! public void DefaultAnythingConstraint()
{
mock.Expect("myMethod", null, null);
***************
*** 218,223 ****
public void FixedValue()
{
! mock.SetValue("myMethod", "hello");
! mock.SetValue("anotherMethod", "world");
Assertion.AssertEquals("hello", mock.Call("myMethod"));
Assertion.AssertEquals("hello", mock.Call("myMethod"));
--- 219,224 ----
public void FixedValue()
{
! mock.SetupResult("myMethod", "hello");
! mock.SetupResult("anotherMethod", "world");
Assertion.AssertEquals("hello", mock.Call("myMethod"));
Assertion.AssertEquals("hello", mock.Call("myMethod"));
***************
*** 226,234 ****
Assertion.AssertEquals("world", mock.Call("anotherMethod"));
Assertion.AssertEquals("world", mock.Call("anotherMethod"));
! mock.SetValue("myMethod", "bye");
Assertion.AssertEquals("bye", mock.Call("myMethod"));
Assertion.AssertEquals("bye", mock.Call("myMethod"));
Assertion.AssertEquals("world", mock.Call("anotherMethod"));
! mock.SetValue("myMethod", null);
Assertion.AssertNull(mock.Call("myMethod"));
Assertion.AssertNull(mock.Call("myMethod"));
--- 227,235 ----
Assertion.AssertEquals("world", mock.Call("anotherMethod"));
Assertion.AssertEquals("world", mock.Call("anotherMethod"));
! mock.SetupResult("myMethod", "bye");
Assertion.AssertEquals("bye", mock.Call("myMethod"));
Assertion.AssertEquals("bye", mock.Call("myMethod"));
Assertion.AssertEquals("world", mock.Call("anotherMethod"));
! mock.SetupResult("myMethod", null);
Assertion.AssertNull(mock.Call("myMethod"));
Assertion.AssertNull(mock.Call("myMethod"));
***************
*** 263,292 ****
mock.Call("z");
}
[Test]
! public void ExpectNiceErrorMessageTooManyTimes()
{
try
{
mock.Expect("x");
mock.Expect("x");
mock.Call("x");
mock.Call("x");
! mock.Call("x");
Assertion.Fail("Expected VerifyException");
}
catch (VerifyException e)
{
! Assertion.AssertEquals( "x() called too many times", e.Message );
}
! }
[Test]
! [Ignore("in progress")]
! public void ExpectNiceErrorMessageMethodNotCalledEnoughTimes()
{
try
{
mock.Expect("x");
mock.Verify();
Assertion.Fail("Expected VerifyException");
--- 264,328 ----
mock.Call("z");
}
+
+ [Test]
+ public void ExpectedNoCallsMessage()
+ {
+ try
+ {
+ mock.ExpectNoCall("x");
+ mock.Call("x");
+ Assertion.Fail("Expected VerifyException");
+ }
+ catch (VerifyException e)
+ {
+ Assertion.AssertEquals("x() called", e.Reason);
+ Assertion.AssertEquals(0, e.Expected);
+ Assertion.AssertEquals(1, e.Actual);
+ }
+ }
[Test]
! public void ExpectedOneCallMessage()
{
try
{
mock.Expect("x");
+ mock.Verify();
+ Assertion.Fail("Expected VerifyException");
+ }
+ catch (VerifyException e)
+ {
+ Assertion.AssertEquals("x() never called", e.Reason);
+ Assertion.AssertEquals(1, e.Expected);
+ Assertion.AssertEquals(0, e.Actual);
+ }
+ }
+
+ [Test]
+ public void ExpectedOneCallGotTooManyMessage()
+ {
+ try
+ {
mock.Expect("x");
mock.Call("x");
mock.Call("x");
! mock.Verify();
Assertion.Fail("Expected VerifyException");
}
catch (VerifyException e)
{
! Assertion.AssertEquals("x() called too many times", e.Reason);
! Assertion.AssertEquals(1, e.Expected);
! Assertion.AssertEquals(2, e.Actual);
}
! }
[Test]
! public void ExpectedManyCallsGotNoneMessage()
{
try
{
mock.Expect("x");
+ mock.Expect("x");
mock.Verify();
Assertion.Fail("Expected VerifyException");
***************
*** 294,335 ****
catch (VerifyException e)
{
! Assertion.AssertEquals( "x() was not called enough times Expected:<1> Was:<0>", e.Message );
}
! }
[Test]
! public void ExpectNiceErrorMessageMethodShouldNotBeCalled()
{
try
{
! mock.ExpectNoCall("x");
! mock.Call("x", null);
Assertion.Fail("Expected VerifyException");
}
catch (VerifyException e)
{
! Assertion.AssertEquals( "x() should not be called", e.Message );
}
! }
[Test]
! [Ignore("Work in progress")]
! public void NiceErrorMessageIncorrectParameter()
{
try
{
! mock.Expect("x", new object[] {1, 2, 3} );
! mock.Call("x", new object[] {2, 3, 4});
Assertion.Fail("Expected VerifyException");
}
catch (VerifyException e)
{
! Assertion.AssertEquals( "x() called with incorrect parameter (0) Expected:<1> Was:<2>", e.Message );
}
! }
[Test]
! public void NiceErrorMessageIncorrectNumberOfParameters()
{
try
--- 330,402 ----
catch (VerifyException e)
{
! Assertion.AssertEquals("x() never called", e.Reason);
! Assertion.AssertEquals(2, e.Expected);
! Assertion.AssertEquals(0, e.Actual);
}
! }
[Test]
! public void ExpectedManyCallsGotOneMessage()
{
try
{
! mock.Expect("x");
! mock.Expect("x");
! mock.Call("x");
! mock.Verify();
Assertion.Fail("Expected VerifyException");
}
catch (VerifyException e)
{
! Assertion.AssertEquals("x() not called enough times", e.Reason);
! Assertion.AssertEquals(2, e.Expected);
! Assertion.AssertEquals(1, e.Actual);
}
+ }
! [Test]
! public void ExpectedManyCallsGotTooManyMessage()
! {
! try
! {
! mock.Expect("x");
! mock.Expect("x");
! mock.Call("x");
! mock.Call("x");
! mock.Call("x");
! mock.Verify();
! Assertion.Fail("Expected VerifyException");
! }
! catch (VerifyException e)
! {
! Assertion.AssertEquals("x() called too many times", e.Reason);
! Assertion.AssertEquals(2, e.Expected);
! Assertion.AssertEquals(3, e.Actual);
! }
! }
[Test]
! public void ExpectedManyCallsGotNotEnoughMessage()
{
try
{
! mock.Expect("x");
! mock.Expect("x");
! mock.Expect("x");
! mock.Call("x");
! mock.Call("x");
! mock.Verify();
Assertion.Fail("Expected VerifyException");
}
catch (VerifyException e)
{
! Assertion.AssertEquals("x() not called enough times", e.Reason);
! Assertion.AssertEquals(3, e.Expected);
! Assertion.AssertEquals(2, e.Actual);
}
! }
[Test]
! public void IncorrectNumberOfParametersMessage()
{
try
***************
*** 341,345 ****
catch (VerifyException e)
{
! Assertion.AssertEquals( "x() called with incorrect number of parameters Expected:<3> Was:<2>", e.Message );
}
}
--- 408,435 ----
catch (VerifyException e)
{
! Assertion.AssertEquals("x() called with incorrect number of parameters", e.Reason);
! Assertion.AssertEquals(3, e.Expected);
! Assertion.AssertEquals(2, e.Actual);
! }
! }
!
! [Test]
! public void IncorrectParameterConstraintMessage()
! {
! try
! {
! IMock Constraint = new DynamicMock(typeof(IConstraint));
! Constraint.SetupResult("Message", "wee woo");
! Constraint.SetupResult("Eval", false);
!
! mock.Expect("x", new IsAnything(), (IConstraint)Constraint.MockInstance);
! mock.Call("x", "hello", "world");
! Assertion.Fail("Expected VerifyException");
! }
! catch (VerifyException e)
! {
! Assertion.AssertEquals("x() called with incorrect parameter (2)", e.Reason);
! Assertion.AssertEquals("wee woo", e.Expected);
! Assertion.AssertEquals("world", e.Actual);
}
}
Index: DynamicMockTest.cs
===================================================================
RCS file: /cvsroot/nmock/nmock/test/NMock/DynamicMockTest.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** DynamicMockTest.cs 11 Nov 2002 20:00:21 -0000 1.2
--- DynamicMockTest.cs 15 Nov 2002 22:31:10 -0000 1.3
***************
*** 21,25 ****
mock.ExpectAndReturn("DoStuff", "world", "hello");
! IBlah blah = (IBlah)mock.Object;
Assertion.AssertEquals("world", blah.DoStuff("hello"));
--- 21,25 ----
mock.ExpectAndReturn("DoStuff", "world", "hello");
! IBlah blah = (IBlah)mock.MockInstance;
Assertion.AssertEquals("world", blah.DoStuff("hello"));
***************
*** 39,43 ****
{
IMock mock = new CustomMock(typeof(IBlah));
! IBlah blah = (IBlah)mock.Object;
Assertion.AssertEquals("CUSTOM", blah.DoStuff("hello"));
mock.Verify();
--- 39,43 ----
{
IMock mock = new CustomMock(typeof(IBlah));
! IBlah blah = (IBlah)mock.MockInstance;
Assertion.AssertEquals("CUSTOM", blah.DoStuff("hello"));
mock.Verify();
***************
*** 59,65 ****
DynamicMock mock = new DynamicMock(typeof(SameClass));
mock.Ignore("A");
! SameClass sc = (SameClass)mock.Object;
! mock.SetValue("b", "hello");
Assertion.AssertEquals("hello", sc.A());
--- 59,65 ----
DynamicMock mock = new DynamicMock(typeof(SameClass));
mock.Ignore("A");
! SameClass sc = (SameClass)mock.MockInstance;
! mock.SetupResult("b", "hello");
Assertion.AssertEquals("hello", sc.A());
--- ConditionsTest.cs DELETED ---
|