From: Choy R. <ch...@us...> - 2005-01-05 00:30:18
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25159/DotNetMock.Tests/Dynamic Modified Files: AssignTests.cs Added Files: PredicateUtilsTests.cs Log Message: Make the AndRequire a bit more consistent by allowing it to automatically convert object -> IPredicate. --- NEW FILE: PredicateUtilsTests.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using NUnit.Framework; using DotNetMock.Dynamic; using DotNetMock.Dynamic.Predicates; #endregion namespace DotNetMock.Tests.Dynamic { [TestFixture] public class PredicateUtilsTests { [Test] public void PredicateRemainsPredicate() { IPredicate predicate = PredicateUtils.ConvertFrom(new IsAnything()); Assert.IsTrue(predicate is IsAnything); } [Test] public void NullConvertedToIsAnything() { IPredicate predicate = PredicateUtils.ConvertFrom(null); Assert.IsTrue(predicate is IsAnything); } [Test] public void DefaultConvertedToIsAnything() { IPredicate predicate = PredicateUtils.ConvertFrom("whatever"); Assert.IsTrue(predicate is IsEqual); Assert.IsTrue(predicate.Eval("whatever")); } } } Index: AssignTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/Dynamic/AssignTests.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AssignTests.cs 1 Jan 2005 22:57:51 -0000 1.2 --- AssignTests.cs 5 Jan 2005 00:29:19 -0000 1.3 *************** *** 14,17 **** --- 14,28 ---- public class AssignTests { + [Test] public void SetAndRequireEqualImplied() + { + object av = new Assign("hello").AndRequire("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 SetAndRequireEqual() { |