|
From: <sm...@us...> - 2003-07-24 23:08:45
|
Update of /cvsroot/nmock/nmock/src/NMock/Constraints
In directory sc8-pr-cvs1:/tmp/cvs-serv24022/src/NMock/Constraints
Modified Files:
Constraints.cs
Log Message:
Index: Constraints.cs
===================================================================
RCS file: /cvsroot/nmock/nmock/src/NMock/Constraints/Constraints.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Constraints.cs 10 Feb 2003 13:26:17 -0000 1.6
--- Constraints.cs 24 Jul 2003 23:08:42 -0000 1.7
***************
*** 3,6 ****
--- 3,7 ----
using System.Text.RegularExpressions;
using System.Reflection;
+ using System.Collections;
namespace NMock.Constraints
***************
*** 105,109 ****
public override bool Eval(object val)
{
! return compare.Equals(ExtractActualValue(val));
}
--- 106,127 ----
public override bool Eval(object val)
{
! if ((val != null) && (val.GetType().IsArray) && (compare.GetType().IsArray))
! {
! return ArrayCompare((System.Array)val, (System.Array)compare);
! }
! else
! {
! return compare.Equals(ExtractActualValue(val));
! }
! }
!
! private bool ArrayCompare(System.Array a1, System.Array a2)
! {
! if(a1.Length != a2.Length) return false;
! for(int i=0; i < a1.Length; i++)
! {
! if(!a1.GetValue(i).Equals(a2.GetValue(i))) return false;
! }
! return true;
}
***************
*** 373,376 ****
--- 391,415 ----
{
get { return "<" + expected + ">"; }
+ }
+ }
+
+ public class StartsWith : BaseConstraint
+ {
+
+ private string expected;
+
+ public StartsWith(string startsWithPattern)
+ {
+ this.expected = startsWithPattern;
+ }
+
+ public override bool Eval(object val)
+ {
+ return ((string)val).StartsWith(expected);
+ }
+
+ public override string Message
+ {
+ get { return "StartsWith<" + expected + ">"; }
}
}
|