From: Griffin C. <gc...@us...> - 2005-01-01 22:58:43
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24588/DotNetMock.Tests/Dynamic Modified Files: DynamicMockTests.cs DynamicOrderedMockTests.cs Added Files: AssignTests.cs Log Message: - Merged branch RFE_1001778 into head Index: DynamicMockTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/DynamicMockTests.cs,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** DynamicMockTests.cs 12 Nov 2004 16:03:29 -0000 1.16 --- DynamicMockTests.cs 1 Jan 2005 22:57:51 -0000 1.17 *************** *** 1,6 **** using System; ! using NUnit.Framework; using DotNetMock.Dynamic; using DotNetMock.Dynamic.Predicates; namespace DotNetMock.Tests.Dynamic --- 1,13 ---- + #region License + // need license + #endregion + #region Imports using System; ! using System.Reflection; using DotNetMock.Dynamic; + using NUnit.Framework; + using DotNetMock.Dynamic.Predicates; + #endregion namespace DotNetMock.Tests.Dynamic *************** *** 10,13 **** --- 17,26 ---- { private IDynamicMock mock; + private MethodInfo myMethod; + private MethodInfo myMethod1; + private MethodInfo myMethod2; + private MethodInfo myMethod3; + private MethodInfo anotherMethod; + interface IBlah { *************** *** 15,19 **** --- 28,81 ---- object DoStuffWithParams( string id, params string[] names ); bool DoStuffBooleanStyle( bool flag ); + void MethodWithOutParameter(out string p1); + void MethodWithRefParameter(ref string p1); + + void myMethod(); + void myMethod1(); + void myMethod2(); + void myMethod3(); + void anotherMethod(); + } + + [SetUp] public void BeforeEachTest() + { + mock = new DynamicMock("mymock"); + myMethod = typeof(IBlah).GetMethod("myMethod", new Type[0]); + myMethod1 = typeof(IBlah).GetMethod("myMethod1", new Type[0]); + myMethod2 = typeof(IBlah).GetMethod("myMethod2", new Type[0]); + myMethod3 = typeof(IBlah).GetMethod("myMethod3", new Type[0]); + anotherMethod = typeof(IBlah).GetMethod("anotherMethod", new Type[0]); + } + + [Test] + public void SetsRefParameter() + { + IDynamicMock mock = new DynamicMock(typeof(IBlah)); + IBlah blah = (IBlah) mock.Object; + string p1 = "hello"; + mock.Expect("MethodWithRefParameter", + new Assign("goodbye").AndRequire(new IsEqual("hello")) + ); + + blah.MethodWithRefParameter(ref p1); + Assertion.AssertEquals("goodbye", p1); + mock.Verify(); + } + + [Test] + public void SetsOutParameter() + { + IDynamicMock mock = new DynamicMock(typeof(IBlah)); + IBlah blah = (IBlah) mock.Object; + string p1 = null; + mock.Expect("MethodWithOutParameter", + new Assign("hello") + ); + + blah.MethodWithOutParameter(out p1); + Assertion.AssertEquals("hello", p1); + mock.Verify(); } + [Test] [ExpectedException(typeof(VerifyException))] *************** *** 96,110 **** public CustomMock(Type t) : base(t) {} ! public override object Call(string name, params object[] args) { return "CUSTOM"; } } - [SetUp] - public void SetUp() - { - mock = new DynamicMock("mymock"); - } - [Test] public void Name() --- 158,166 ---- public CustomMock(Type t) : base(t) {} ! public override object Call(MethodInfo mi, params object[] args) { return "CUSTOM"; } } [Test] public void Name() *************** *** 123,130 **** { mock.Expect("myMethod"); ! mock.Call("myMethod"); mock.Verify(); } - [Test] [ExpectedException(typeof(AssertionException))] --- 179,185 ---- { mock.Expect("myMethod"); ! mock.Call(myMethod); mock.Verify(); } [Test] [ExpectedException(typeof(AssertionException))] *************** *** 147,152 **** { mock.Expect("myMethod"); ! mock.Call("myMethod"); ! mock.Call("myMethod"); } --- 202,207 ---- { mock.Expect("myMethod"); ! mock.Call(myMethod); ! mock.Call(myMethod); } *************** *** 157,163 **** mock.Expect("myMethod"); mock.Expect("myMethod"); ! mock.Call("myMethod"); ! mock.Call("myMethod"); ! mock.Call("myMethod"); mock.Verify(); } --- 212,218 ---- mock.Expect("myMethod"); mock.Expect("myMethod"); ! mock.Call(myMethod); ! mock.Call(myMethod); ! mock.Call(myMethod); mock.Verify(); } *************** *** 167,174 **** { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); ! mock.Call("myMethod", "hello", null); mock.Verify(); } - [Test] [ExpectedException(typeof(DotNetMock.AssertionException))] --- 222,228 ---- { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); ! mock.Call(myMethod, "hello", null); mock.Verify(); } [Test] [ExpectedException(typeof(DotNetMock.AssertionException))] *************** *** 176,180 **** { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); ! mock.Call("myMethod", "world", null); } --- 230,234 ---- { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); ! mock.Call(myMethod, "world", null); } *************** *** 183,187 **** { mock.Expect("myMethod"); ! mock.Call("myMethod", "world", null); mock.Verify(); } --- 237,241 ---- { mock.Expect("myMethod"); ! mock.Call(myMethod, "world", null); mock.Verify(); } *************** *** 193,199 **** mock.Expect("myMethod2"); mock.Expect("myMethod3"); ! mock.Call("myMethod1"); ! mock.Call("myMethod2"); ! mock.Call("myMethod3"); mock.Verify(); } --- 247,253 ---- mock.Expect("myMethod2"); mock.Expect("myMethod3"); ! mock.Call(myMethod1); ! mock.Call(myMethod2); ! mock.Call(myMethod3); mock.Verify(); } *************** *** 205,211 **** mock.Expect("myMethod2"); mock.Expect("myMethod3"); ! mock.Call("myMethod1"); ! mock.Call("myMethod3"); ! mock.Call("myMethod2"); mock.Verify(); } --- 259,265 ---- mock.Expect("myMethod2"); mock.Expect("myMethod3"); ! mock.Call(myMethod1); ! mock.Call(myMethod3); ! mock.Call(myMethod2); mock.Verify(); } *************** *** 216,220 **** object something = new object(); mock.ExpectAndReturn("myMethod", something); ! object result = mock.Call("myMethod"); mock.Verify(); Assertion.AssertEquals(something, result); --- 270,274 ---- object something = new object(); mock.ExpectAndReturn("myMethod", something); ! object result = mock.Call(myMethod); mock.Verify(); Assertion.AssertEquals(something, result); *************** *** 226,230 **** object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); ! object result = mock.Call("myMethod", "hello"); mock.Verify(); Assertion.AssertEquals(something, result); --- 280,284 ---- object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); ! object result = mock.Call(myMethod, "hello"); mock.Verify(); Assertion.AssertEquals(something, result); *************** *** 237,241 **** object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); ! object result = mock.Call("myMethod", "bye"); mock.Verify(); Assertion.AssertEquals(something, result); --- 291,295 ---- object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); ! object result = mock.Call(myMethod, "bye"); mock.Verify(); Assertion.AssertEquals(something, result); *************** *** 251,257 **** mock.ExpectAndReturn("myMethod", anotherthing); mock.ExpectAndReturn("myMethod", x); ! Assertion.AssertEquals(something, mock.Call("myMethod")); ! Assertion.AssertEquals(anotherthing, mock.Call("myMethod")); ! Assertion.AssertEquals(x, mock.Call("myMethod")); mock.Verify(); } --- 305,311 ---- mock.ExpectAndReturn("myMethod", anotherthing); mock.ExpectAndReturn("myMethod", x); ! Assertion.AssertEquals(something, mock.Call(myMethod)); ! Assertion.AssertEquals(anotherthing, mock.Call(myMethod)); ! Assertion.AssertEquals(x, mock.Call(myMethod)); mock.Verify(); } *************** *** 261,265 **** { mock.ExpectAndReturn("myMethod", null); ! Assertion.AssertNull(mock.Call("myMethod")); mock.Verify(); } --- 315,319 ---- { mock.ExpectAndReturn("myMethod", null); ! Assertion.AssertNull(mock.Call(myMethod)); mock.Verify(); } *************** *** 270,274 **** object o = new object(); mock.Expect("myMethod", o); ! mock.Call("myMethod", o); } --- 324,328 ---- object o = new object(); mock.Expect("myMethod", o); ! mock.Call(myMethod, o); } *************** *** 278,282 **** { mock.Expect("myMethod", new object()); ! mock.Call("myMethod", new object()); } --- 332,336 ---- { mock.Expect("myMethod", new object()); ! mock.Call(myMethod, new object()); } *************** *** 287,293 **** mock.Expect("myMethod", null, "zzz"); mock.Expect("myMethod", "zzz", null); ! mock.Call("myMethod", "???", "???"); ! mock.Call("myMethod", "???", "zzz"); ! mock.Call("myMethod", "zzz", "???"); } --- 341,347 ---- mock.Expect("myMethod", null, "zzz"); mock.Expect("myMethod", "zzz", null); ! mock.Call(myMethod, "???", "???"); ! mock.Call(myMethod, "???", "zzz"); ! mock.Call(myMethod, "zzz", "???"); } *************** *** 297,313 **** mock.SetValue("myMethod", "hello"); mock.SetValue("anotherMethod", "world"); ! Assertion.AssertEquals("hello", mock.Call("myMethod")); ! Assertion.AssertEquals("hello", mock.Call("myMethod")); ! Assertion.AssertEquals("hello", mock.Call("myMethod")); ! Assertion.AssertEquals("hello", mock.Call("myMethod")); ! 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")); mock.Verify(); } --- 351,367 ---- mock.SetValue("myMethod", "hello"); mock.SetValue("anotherMethod", "world"); ! Assertion.AssertEquals("hello", mock.Call(myMethod)); ! Assertion.AssertEquals("hello", mock.Call(myMethod)); ! Assertion.AssertEquals("hello", mock.Call(myMethod)); ! Assertion.AssertEquals("hello", mock.Call(myMethod)); ! 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)); mock.Verify(); } *************** *** 318,322 **** { mock.ExpectAndThrow("myMethod", new System.IO.IOException()); ! mock.Call("myMethod"); } } --- 372,376 ---- { mock.ExpectAndThrow("myMethod", new System.IO.IOException()); ! mock.Call(myMethod); } } Index: DynamicOrderedMockTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/DynamicOrderedMockTests.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DynamicOrderedMockTests.cs 9 Oct 2004 21:14:12 -0000 1.4 --- DynamicOrderedMockTests.cs 1 Jan 2005 22:57:51 -0000 1.5 *************** *** 1,3 **** --- 1,4 ---- using System; + using System.Reflection; using DotNetMock.Dynamic.Predicates; using NUnit.Framework; *************** *** 9,15 **** --- 10,28 ---- public class DynamicOrderedMockTest { + private MethodInfo myMethod; + private MethodInfo myMethod1; + private MethodInfo myMethod2; + private MethodInfo myMethod3; + private MethodInfo anotherMethod; + interface IBlah { object DoStuff(string name); + + void myMethod(); + void myMethod1(); + void myMethod2(); + void myMethod3(); + void anotherMethod(); } private IDynamicMock mock; *************** *** 19,22 **** --- 32,40 ---- { mock = new DynamicOrderedMock("mymock"); + myMethod = typeof(IBlah).GetMethod("myMethod", new Type[0]); + myMethod1 = typeof(IBlah).GetMethod("myMethod1", new Type[0]); + myMethod2 = typeof(IBlah).GetMethod("myMethod2", new Type[0]); + myMethod3 = typeof(IBlah).GetMethod("myMethod3", new Type[0]); + anotherMethod = typeof(IBlah).GetMethod("anotherMethod", new Type[0]); } *************** *** 37,41 **** { mock.Expect("myMethod"); ! mock.Call("myMethod"); mock.Verify(); } --- 55,59 ---- { mock.Expect("myMethod"); ! mock.Call(myMethod); mock.Verify(); } *************** *** 54,59 **** { mock.Expect("myMethod"); ! mock.Call("myMethod"); ! mock.Call("myMethod"); } --- 72,77 ---- { mock.Expect("myMethod"); ! mock.Call(myMethod); ! mock.Call(myMethod); } *************** *** 64,70 **** mock.Expect("myMethod"); mock.Expect("myMethod"); ! mock.Call("myMethod"); ! mock.Call("myMethod"); ! mock.Call("myMethod"); mock.Verify(); } --- 82,88 ---- mock.Expect("myMethod"); mock.Expect("myMethod"); ! mock.Call(myMethod); ! mock.Call(myMethod); ! mock.Call(myMethod); mock.Verify(); } *************** *** 74,78 **** { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); ! mock.Call("myMethod", "hello", null); mock.Verify(); } --- 92,96 ---- { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); ! mock.Call(myMethod, "hello", null); mock.Verify(); } *************** *** 83,87 **** { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); ! mock.Call("myMethod", "world", null); } --- 101,105 ---- { mock.Expect("myMethod", new IsEqual("hello"), new IsAnything()); ! mock.Call(myMethod, "world", null); } *************** *** 90,94 **** { mock.Expect("myMethod"); ! mock.Call("myMethod", "world", null); mock.Verify(); } --- 108,112 ---- { mock.Expect("myMethod"); ! mock.Call(myMethod, "world", null); mock.Verify(); } *************** *** 100,106 **** mock.Expect("myMethod2"); mock.Expect("myMethod3"); ! mock.Call("myMethod1"); ! mock.Call("myMethod2"); ! mock.Call("myMethod3"); mock.Verify(); } --- 118,124 ---- mock.Expect("myMethod2"); mock.Expect("myMethod3"); ! mock.Call(myMethod1); ! mock.Call(myMethod2); ! mock.Call(myMethod3); mock.Verify(); } *************** *** 113,119 **** mock.Expect("myMethod2"); mock.Expect("myMethod3"); ! mock.Call("myMethod1"); ! mock.Call("myMethod3"); ! mock.Call("myMethod2"); mock.Verify(); } --- 131,137 ---- mock.Expect("myMethod2"); mock.Expect("myMethod3"); ! mock.Call(myMethod1); ! mock.Call(myMethod3); ! mock.Call(myMethod2); mock.Verify(); } *************** *** 124,128 **** object something = new object(); mock.ExpectAndReturn("myMethod", something); ! object result = mock.Call("myMethod"); mock.Verify(); Assertion.AssertEquals(something, result); --- 142,146 ---- object something = new object(); mock.ExpectAndReturn("myMethod", something); ! object result = mock.Call(myMethod); mock.Verify(); Assertion.AssertEquals(something, result); *************** *** 134,138 **** object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); ! object result = mock.Call("myMethod", "hello"); mock.Verify(); Assertion.AssertEquals(something, result); --- 152,156 ---- object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); ! object result = mock.Call(myMethod, "hello"); mock.Verify(); Assertion.AssertEquals(something, result); *************** *** 145,149 **** object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); ! object result = mock.Call("myMethod", "bye"); mock.Verify(); Assertion.AssertEquals(something, result); --- 163,167 ---- object something = new object(); mock.ExpectAndReturn("myMethod", something, new IsEqual("hello")); ! object result = mock.Call(myMethod, "bye"); mock.Verify(); Assertion.AssertEquals(something, result); *************** *** 159,165 **** mock.ExpectAndReturn("myMethod", anotherthing); mock.ExpectAndReturn("myMethod", x); ! Assertion.AssertEquals(something, mock.Call("myMethod")); ! Assertion.AssertEquals(anotherthing, mock.Call("myMethod")); ! Assertion.AssertEquals(x, mock.Call("myMethod")); mock.Verify(); } --- 177,183 ---- mock.ExpectAndReturn("myMethod", anotherthing); mock.ExpectAndReturn("myMethod", x); ! Assertion.AssertEquals(something, mock.Call(myMethod)); ! Assertion.AssertEquals(anotherthing, mock.Call(myMethod)); ! Assertion.AssertEquals(x, mock.Call(myMethod)); mock.Verify(); } *************** *** 169,173 **** { mock.ExpectAndReturn("myMethod", null); ! Assertion.AssertNull(mock.Call("myMethod")); mock.Verify(); } --- 187,191 ---- { mock.ExpectAndReturn("myMethod", null); ! Assertion.AssertNull(mock.Call(myMethod)); mock.Verify(); } *************** *** 178,182 **** object o = new object(); mock.Expect("myMethod", o); ! mock.Call("myMethod", o); } --- 196,200 ---- object o = new object(); mock.Expect("myMethod", o); ! mock.Call(myMethod, o); } *************** *** 186,190 **** { mock.Expect("myMethod", new object()); ! mock.Call("myMethod", new object()); } --- 204,208 ---- { mock.Expect("myMethod", new object()); ! mock.Call(myMethod, new object()); } *************** *** 195,201 **** mock.Expect("myMethod", null, "zzz"); mock.Expect("myMethod", "zzz", null); ! mock.Call("myMethod", "???", "???"); ! mock.Call("myMethod", "???", "zzz"); ! mock.Call("myMethod", "zzz", "???"); } --- 213,219 ---- mock.Expect("myMethod", null, "zzz"); mock.Expect("myMethod", "zzz", null); ! mock.Call(myMethod, "???", "???"); ! mock.Call(myMethod, "???", "zzz"); ! mock.Call(myMethod, "zzz", "???"); } *************** *** 205,221 **** mock.SetValue("myMethod", "hello"); mock.SetValue("anotherMethod", "world"); ! Assertion.AssertEquals("hello", mock.Call("myMethod")); ! Assertion.AssertEquals("hello", mock.Call("myMethod")); ! Assertion.AssertEquals("hello", mock.Call("myMethod")); ! Assertion.AssertEquals("hello", mock.Call("myMethod")); ! 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")); mock.Verify(); } --- 223,239 ---- mock.SetValue("myMethod", "hello"); mock.SetValue("anotherMethod", "world"); ! Assertion.AssertEquals("hello", mock.Call(myMethod)); ! Assertion.AssertEquals("hello", mock.Call(myMethod)); ! Assertion.AssertEquals("hello", mock.Call(myMethod)); ! Assertion.AssertEquals("hello", mock.Call(myMethod)); ! 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)); mock.Verify(); } *************** *** 226,230 **** { mock.ExpectAndThrow("myMethod", new System.IO.IOException()); ! mock.Call("myMethod"); } [Test] --- 244,248 ---- { mock.ExpectAndThrow("myMethod", new System.IO.IOException()); ! mock.Call(myMethod); } [Test] *************** *** 263,267 **** public CustomMock(Type t) : base(t) {} ! public override object Call(string name, params object[] args) { return "CUSTOM"; --- 281,285 ---- public CustomMock(Type t) : base(t) {} ! public override object Call(MethodInfo mi, params object[] args) { return "CUSTOM"; --- NEW FILE: AssignTests.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using DotNetMock.Dynamic; using NUnit.Framework; using DotNetMock.Dynamic.Predicates; #endregion namespace DotNetMock.Tests.Dynamic { [TestFixture] public class AssignTests { [Test] public void SetAndRequireEqual() { object av = new Assign("hello").AndRequire(new IsEqual("goodbye")); object pv = "goodbye"; IPredicate predicate = av as IPredicate; Assert.IsNotNull(predicate); Assert.IsTrue(predicate.Eval(pv)); IArgumentMutator am = av as IArgumentMutator; am.Mutate(ref pv); Assert.AreEqual("hello", (string) pv); } [Test] public void SetString() { Assign av = new Assign("hello"); object pv = "goodbye"; av.Mutate(ref pv); Assert.AreEqual("hello", (string) pv); } [Test] public void SetInt32() { Assign av = new Assign(123); object pv = 234; av.Mutate(ref pv); Assert.AreEqual(123, (int) pv); } [Test] public void SetInt32OfArray() { Assign av = new Assign(123); object[] pvs = new object[] { 234 }; av.Mutate(ref pvs[0]); Assert.AreEqual(123, (int) pvs[0]); } } } |