Browse Source

Patch from Dean Zobec:
- renamed AssertNull and AssertNotNull for Interfaces to AssertNullIntf,
AssertNotNullIntf to not confuse the compiler in case of passing objects implementing interfaces
- registering tests in the unit where they are defined

michael 20 years ago
parent
commit
e5be257621

+ 1 - 8
fcl/fpcunit/demo/consolerunner/suiteconfig.pp

@@ -20,15 +20,8 @@ unit suiteconfig;
 interface
 interface
 
 
 uses
 uses
-  fpcunittests, testregistry;
-
-procedure RegisterUnitTests;
+  fpcunittests, moneytest;
 
 
 implementation
 implementation
 
 
-procedure RegisterUnitTests;
-begin
-  RegisterTests([TTestCaseTest, TTestSuiteTest, TAssertTest, TListenerTest]);
-end;
-
 end.
 end.

+ 1 - 3
fcl/fpcunit/demo/consolerunner/testrunner.pp

@@ -17,8 +17,7 @@
  **********************************************************************}
  **********************************************************************}
 program testrunner;
 program testrunner;
 uses
 uses
-  custapp, classes, SysUtils, fpcunit, suiteconfig, testreport, 
-  testregistry;
+  custapp, classes, SysUtils, fpcunit, suiteconfig, testreport;
 
 
 Const
 Const
   ShortOpts = 'alh';
   ShortOpts = 'alh';
@@ -125,7 +124,6 @@ Var
   App : TTestRunner;
   App : TTestRunner;
 
 
 begin
 begin
-  RegisterUnitTests;
   App:=TTestRunner.Create(Nil);
   App:=TTestRunner.Create(Nil);
   App.Initialize;
   App.Initialize;
   App.Title := 'FPCUnit Console Test Case runner.';
   App.Title := 'FPCUnit Console Test Case runner.';

+ 17 - 1
fcl/fpcunit/exampletests/fpcunittests.pp

@@ -20,7 +20,7 @@ unit fpcunittests;
 interface
 interface
 
 
 uses
 uses
-  SysUtils, Classes, fpcunit, testutils;
+  SysUtils, Classes, fpcunit, testutils, testregistry;
 
 
 type
 type
 
 
@@ -48,6 +48,8 @@ type
     procedure TestExtractMethods;
     procedure TestExtractMethods;
   end;
   end;
 
 
+  { TAssertTest }
+
   TAssertTest = class(TTestCase)
   TAssertTest = class(TTestCase)
   private
   private
     Fa,
     Fa,
@@ -78,6 +80,7 @@ type
     procedure TestNull;
     procedure TestNull;
     procedure TestNullInterface;
     procedure TestNullInterface;
     procedure TestNotNull;
     procedure TestNotNull;
+    procedure TestNotNullWithInterface;
     procedure TestNotNullInterface;
     procedure TestNotNullInterface;
     procedure TestFailEqualsInt;
     procedure TestFailEqualsInt;
     procedure TestFailEqualsInt64;
     procedure TestFailEqualsInt64;
@@ -310,6 +313,15 @@ begin
   obj.Free;
   obj.Free;
 end;
 end;
 
 
+procedure TAssertTest.TestNotNullWithInterface;
+var
+  obj: TMyIntfObj;
+begin
+  obj := TMyIntfObj.Create;
+  AssertNotNull(obj);
+  obj.Free;
+end;
+
 procedure TAssertTest.TestNotNullInterface;
 procedure TAssertTest.TestNotNullInterface;
 var
 var
   myintf: IMyIntf;
   myintf: IMyIntf;
@@ -732,4 +744,8 @@ begin
   AssertTrue(True);
   AssertTrue(True);
 end;
 end;
 
 
+initialization
+
+  RegisterTests([TTestCaseTest, TTestSuiteTest, TAssertTest, TListenerTest]);
+
 end.
 end.

+ 5 - 1
fcl/fpcunit/exampletests/moneytest.pp

@@ -5,7 +5,7 @@ unit moneytest;
 interface
 interface
 
 
 uses
 uses
-  Classes, SysUtils, fpcunit, money;
+  Classes, SysUtils, fpcunit, money, testregistry;
 
 
 type
 type
 
 
@@ -290,5 +290,9 @@ begin
   AssertTrue('expected ' + mb.toString + ' but was ' + (FMB2 *2).toString, (FMB2 * 2).equals(mb));
   AssertTrue('expected ' + mb.toString + ' but was ' + (FMB2 *2).toString, (FMB2 * 2).equals(mb));
 end;
 end;
 
 
+initialization
+
+  RegisterTests([TMoneyTest]);
+
 end.
 end.
 
 

+ 8 - 8
fcl/fpcunit/fpcunit.pp

@@ -90,14 +90,14 @@ type
     class procedure AssertNotSame(Expected, Actual: Pointer); overload;
     class procedure AssertNotSame(Expected, Actual: Pointer); overload;
     class procedure AssertNotNull(const AMessage: string; AObject: TObject); overload;
     class procedure AssertNotNull(const AMessage: string; AObject: TObject); overload;
     class procedure AssertNotNull(AObject: TObject); overload;
     class procedure AssertNotNull(AObject: TObject); overload;
-    class procedure AssertNotNull(const AMessage: string; AInterface: IInterface); overload;
-    class procedure AssertNotNull(AInterface: IInterface); overload;
+    class procedure AssertNotNullIntf(const AMessage: string; AInterface: IInterface); overload;
+    class procedure AssertNotNullIntf(AInterface: IInterface); overload;
     class procedure AssertNotNull(const AMessage: string; APointer: Pointer); overload;
     class procedure AssertNotNull(const AMessage: string; APointer: Pointer); overload;
     class procedure AssertNotNull(APointer: Pointer); overload;
     class procedure AssertNotNull(APointer: Pointer); overload;
     class procedure AssertNull(const AMessage: string; AObject: TObject); overload;
     class procedure AssertNull(const AMessage: string; AObject: TObject); overload;
     class procedure AssertNull(AObject: TObject); overload;
     class procedure AssertNull(AObject: TObject); overload;
-    class procedure AssertNull(const AMessage: string; AInterface: IInterface); overload;
-    class procedure AssertNull(AInterface: IInterface); overload;
+    class procedure AssertNullIntf(const AMessage: string; AInterface: IInterface); overload;
+    class procedure AssertNullIntf(AInterface: IInterface); overload;
     class procedure AssertNull(const AMessage: string; APointer: Pointer); overload;
     class procedure AssertNull(const AMessage: string; APointer: Pointer); overload;
     class procedure AssertNull(APointer: Pointer); overload;
     class procedure AssertNull(APointer: Pointer); overload;
     class procedure AssertNotNull(const AMessage, AString: string); overload;
     class procedure AssertNotNull(const AMessage, AString: string); overload;
@@ -518,12 +518,12 @@ begin
   AssertNotNull('', AObject);
   AssertNotNull('', AObject);
 end;
 end;
 
 
-class procedure TAssert.AssertNotNull(const AMessage: string; AInterface: IInterface);
+class procedure TAssert.AssertNotNullIntf(const AMessage: string; AInterface: IInterface);
 begin
 begin
   AssertTrue(AMessage, (AInterface <> nil));
   AssertTrue(AMessage, (AInterface <> nil));
 end;
 end;
 
 
-class procedure TAssert.AssertNotNull(AInterface: IInterface);
+class procedure TAssert.AssertNotNullIntf(AInterface: IInterface);
 begin
 begin
   AssertNotNull('', AInterface);
   AssertNotNull('', AInterface);
 end;
 end;
@@ -548,12 +548,12 @@ begin
   AssertNull('', AObject);
   AssertNull('', AObject);
 end;
 end;
 
 
-class procedure TAssert.AssertNull(const AMessage: string; AInterface: IInterface);
+class procedure TAssert.AssertNullIntf(const AMessage: string; AInterface: IInterface);
 begin
 begin
   AssertTrue(AMessage, (AInterface = nil));
   AssertTrue(AMessage, (AInterface = nil));
 end;
 end;
 
 
-class procedure TAssert.AssertNull(AInterface: IInterface);
+class procedure TAssert.AssertNullINtf(AInterface: IInterface);
 begin
 begin
   AssertNull('', AInterface);
   AssertNull('', AInterface);
 end;
 end;

+ 5 - 1
fcl/fpcunit/tests/asserttest.pp

@@ -20,7 +20,7 @@ unit asserttest;
 interface
 interface
 
 
 uses
 uses
-  fpcunit;
+  fpcunit, testregistry;
 
 
 type
 type
 
 
@@ -210,5 +210,9 @@ begin
   Fail('Error: Objects are the same!');
   Fail('Error: Objects are the same!');
 end;
 end;
 
 
+initialization
+
+  RegisterTests([TAssertTest]);
+
 end.
 end.
 
 

+ 5 - 1
fcl/fpcunit/tests/suitetest.pp

@@ -20,7 +20,7 @@ unit suitetest;
 interface
 interface
 
 
 uses
 uses
-  fpcunit, testreport;
+  fpcunit, testreport, testregistry;
 
 
 type
 type
 
 
@@ -218,5 +218,9 @@ begin
   end;
   end;
 end;
 end;
 
 
+initialization
+
+  RegisterTests([TSuiteTest]);
+
 end.
 end.