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()
{
|