From: Choy R. <ch...@us...> - 2005-02-17 05:29:46
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3352/DotNetMock.Tests/Dynamic Modified Files: ExpectationMethodTests.cs Log Message: Record MethodInfo of actual method call instead of just method name. This will allow us to have even better assertion failure messages. And probably other benefits I can't think of right now. Index: ExpectationMethodTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/ExpectationMethodTests.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ExpectationMethodTests.cs 17 Feb 2005 04:44:17 -0000 1.8 --- ExpectationMethodTests.cs 17 Feb 2005 05:29:38 -0000 1.9 *************** *** 1,4 **** --- 1,13 ---- + #region License + // Copyright (c) 2004 Griffin Caprio & Choy Rim. All rights reserved. + #endregion + #region Imports + using System; + using System.Reflection; + using NUnit.Framework; + using DotNetMock.Dynamic; + #endregion namespace DotNetMock.Tests.Dynamic *************** *** 9,12 **** --- 18,30 ---- private ExpectationMethod _expectedMethod = null; + private interface IMethods + { + void Method1(); + void Method2(int x, int y, int z); + } + + static readonly MethodInfo method1 = typeof(IMethods).GetMethod("Method1"); + static readonly MethodInfo method2 = typeof(IMethods).GetMethod("Method2"); + [TearDown] public void Destroy() *************** *** 17,22 **** public void ExpectationMethodVoid() { ! _expectedMethod = new ExpectationMethod( "myMethod" ); ! _expectedMethod.SetActualMethodCall( "myMethod" ); _expectedMethod.Verify(); } --- 35,40 ---- public void ExpectationMethodVoid() { ! _expectedMethod = new ExpectationMethod(method1.Name); ! _expectedMethod.SetActualMethodCall(method1); _expectedMethod.Verify(); } *************** *** 25,29 **** public void ExpectationMethodVoidNoCall() { ! _expectedMethod = new ExpectationMethod( "myMethod" ); _expectedMethod.Verify(); } --- 43,47 ---- public void ExpectationMethodVoidNoCall() { ! _expectedMethod = new ExpectationMethod(method1.Name); _expectedMethod.Verify(); } *************** *** 31,53 **** public void ExpectedMethodReturnValue() { ! _expectedMethod = new ExpectationMethod( "myMethod", true ); ! _expectedMethod.SetActualMethodCall("myMethod"); Assert.IsTrue((bool)_expectedMethod.ReturnValue); _expectedMethod.Verify(); } [Test] ! [ExpectedException(typeof(AssertionException), "Failed to satisfy 'value equals (1)' on argument 0 of method call myMethod(3, 2, 1)")] public void DecentErrorMessageWhenPredicateFails() { ! _expectedMethod = new ExpectationMethod("myMethod", null, new object[] { 1, 2, 3 }); ! _expectedMethod.SetActualMethodCall("myMethod", new object[] { 3, 2, 1 }); _expectedMethod.Verify(); } [Test] ! [ExpectedException(typeof(AssertionException), "Failed to satisfy 'value equals (2)' on argument 1 of method call myMethod(1, 3, 2)")] public void DecentErrorMessageWhenPredicateFailsOnSecondArgument() { ! _expectedMethod = new ExpectationMethod("myMethod", null, new object[] { 1, 2, 3 }); ! _expectedMethod.SetActualMethodCall("myMethod", new object[] { 1, 3, 2 }); _expectedMethod.Verify(); } --- 49,86 ---- public void ExpectedMethodReturnValue() { ! _expectedMethod = new ExpectationMethod(method1.Name, true ); ! _expectedMethod.SetActualMethodCall(method1); Assert.IsTrue((bool)_expectedMethod.ReturnValue); _expectedMethod.Verify(); } [Test] ! [ExpectedException(typeof(AssertionException), "Failed to satisfy 'value equals (1)' on argument 0 of method call Method2(3, 2, 1)")] public void DecentErrorMessageWhenPredicateFails() { ! _expectedMethod = new ExpectationMethod(method2.Name, null, new object[] { 1, 2, 3 }); ! _expectedMethod.SetActualMethodCall(method2, 3, 2, 1); _expectedMethod.Verify(); } [Test] ! [ExpectedException(typeof(AssertionException), "Failed to satisfy 'value equals (2)' on argument 1 of method call Method2(1, 3, 2)")] public void DecentErrorMessageWhenPredicateFailsOnSecondArgument() { ! _expectedMethod = new ExpectationMethod(method2.Name, null, new object[] { 1, 2, 3 }); ! _expectedMethod.SetActualMethodCall(method2, 1, 3, 2); ! _expectedMethod.Verify(); ! } ! [Test] ! [ExpectedException(typeof(InvalidOperationException))] ! public void AccessingActualMethodPropertyBeforeSetting() ! { ! _expectedMethod = new ExpectationMethod(method1.Name); ! MethodInfo mi = _expectedMethod.ActualMethod; ! } ! [Test] ! [ExpectedException(typeof(AssertionException), "Method1() expected, but Method2() called.")] ! public void WrongMethodCalled() ! { ! _expectedMethod = new ExpectationMethod(method1.Name); ! _expectedMethod.SetActualMethodCall(method2); _expectedMethod.Verify(); } |