Просмотр исходного кода

* Added overloads for unicodestring strings

git-svn-id: trunk@27345 -
michael 11 лет назад
Родитель
Сommit
360f1a30a0

+ 12 - 0
packages/fcl-fpcunit/src/DUnitCompatibleInterface.inc

@@ -5,11 +5,13 @@
     class procedure Check(pValue: boolean; pMessage: string = '');
     class procedure CheckEquals(expected, actual: extended; msg: string = ''); overload;
     class procedure CheckEquals(expected, actual: string; msg: string = ''); overload;
+    class procedure CheckEquals(expected, actual: unicodestring; msg: string = ''); overload;
     class procedure CheckEquals(expected, actual: extended; delta: extended; msg: string = ''); overload;
     class procedure CheckEquals(expected, actual: integer; msg: string = ''); overload;
     class procedure CheckEquals(expected, actual: boolean; msg: string = ''); overload;
     class procedure CheckEquals(expected, actual: TClass; msg: string = ''); overload;
     class procedure CheckNotEquals(expected, actual: string; msg: string = ''); overload;
+    class procedure CheckNotEquals(expected, actual: unicodestring; msg: string = ''); overload;
     class procedure CheckNotEquals(expected, actual: integer; msg: string = ''); overload; virtual;
     class procedure CheckNotEquals(expected, actual: boolean; msg: string = ''); overload; virtual;
     class procedure CheckNotEquals(expected: extended; actual: extended; delta: extended = 0; msg: string = ''); overload; virtual;
@@ -60,6 +62,10 @@ class procedure TAssert.CheckEquals(expected, actual: string; msg: string);
 begin
   AssertEquals(msg, expected, actual);
 end;
+class procedure TAssert.CheckEquals(expected, actual: unicodestring; msg: string);
+begin
+  AssertEquals(msg, expected, actual);
+end;
 
 class procedure TAssert.CheckEquals(expected, actual: extended;
   delta: extended; msg: string);
@@ -88,6 +94,12 @@ begin
     Fail(msg + ComparisonMsg(Expected, Actual, false));
 end;
 
+class procedure TAssert.CheckNotEquals(expected, actual: unicodestring; msg: string);
+begin
+  if (Expected=Actual) then
+    Fail(msg + ComparisonMsg(Expected, Actual, false));
+end;
+
 class procedure TAssert.CheckNotEquals(expected, actual: integer; msg: string);
 begin
   if (expected = actual) then

+ 24 - 0
packages/fcl-fpcunit/src/fpcunit.pp

@@ -87,6 +87,8 @@ type
     class procedure AssertFalse(ACondition: boolean); overload;
     class procedure AssertEquals(const AMessage: string; Expected, Actual: string); overload;
     class procedure AssertEquals(Expected, Actual: string); overload;
+    class procedure AssertEquals(const AMessage: string; Expected, Actual: UnicodeString); overload;
+    class procedure AssertEquals(Expected, Actual: UnicodeString); overload;
     class procedure AssertEquals(const AMessage: string; Expected, Actual: integer); overload;
     class procedure AssertEquals(Expected, Actual: integer); overload;
     class procedure AssertEquals(const AMessage: string; Expected, Actual: int64); overload;
@@ -287,6 +289,7 @@ type
   end;
 
   function ComparisonMsg(const aExpected: string; const aActual: string; const aCheckEqual: boolean=true): string;
+  function ComparisonMsg(const aExpected: UnicodeString; const aActual: UnicodeString; const aCheckEqual: boolean=true): string;
 
   
 Resourcestring
@@ -344,6 +347,16 @@ begin
 end;
 
 
+function ComparisonMsg(const aExpected: UnicodeString; const aActual: UnicodeString; const aCheckEqual: boolean=true): string;
+// aCheckEqual=false gives the error message if the test does *not* expect the results to be the same.
+begin
+  if aCheckEqual then
+    Result := format(UnicodeString(SCompare), [aExpected, aActual])
+  else {check unequal requires opposite error message}
+    Result := format(UnicodeString(SCompareNotEqual), [aExpected, aActual]);
+end;
+
+
 constructor EAssertionFailedError.Create;
 begin
   inherited Create('');
@@ -498,6 +511,17 @@ begin
   AssertEquals('', Expected, Actual);
 end;
 
+class procedure TAssert.AssertEquals(const AMessage: string; Expected, Actual: Unicodestring);
+begin
+  AssertTrue(AMessage + ComparisonMsg(Expected, Actual), (Expected=Actual));
+end;
+
+
+class procedure TAssert.AssertEquals(Expected, Actual: UnicodeString);
+begin
+  AssertEquals('', Expected, Actual);
+end;
+
 
 class procedure TAssert.AssertNotNull(const AString: string);
 begin