DUnitCompatibleInterface.inc 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. {%MainUnit fpcunit.pp}
  2. {$IFDEF read_interface}
  3. class procedure Check(pValue: boolean; pMessage: string = '');
  4. class procedure CheckEquals(expected, actual: extended; msg: string = ''); overload;
  5. class procedure CheckEquals(expected, actual: string; msg: string = ''); overload;
  6. class procedure CheckEquals(expected, actual: extended; delta: extended; msg: string = ''); overload;
  7. class procedure CheckEquals(expected, actual: integer; msg: string = ''); overload;
  8. class procedure CheckEquals(expected, actual: boolean; msg: string = ''); overload;
  9. class procedure CheckEquals(expected, actual: TClass; msg: string = ''); overload;
  10. class procedure CheckNotEquals(expected, actual: string; msg: string = ''); overload;
  11. class procedure CheckNotEquals(expected, actual: integer; msg: string = ''); overload; virtual;
  12. class procedure CheckNotEquals(expected, actual: boolean; msg: string = ''); overload; virtual;
  13. class procedure CheckNotEquals(expected: extended; actual: extended; delta: extended = 0; msg: string = ''); overload; virtual;
  14. class procedure CheckNull(obj: IUnknown; msg: string = ''); overload;
  15. class procedure CheckNull(obj: TObject; msg: string = ''); overload;
  16. class procedure CheckNotNull(obj: TObject; msg: string = ''); overload;
  17. class procedure CheckIs(obj :TObject; pClass: TClass; msg: string = ''); overload;
  18. class procedure CheckSame(expected, actual: TObject; msg: string = ''); overload;
  19. class procedure FailNotEquals(expected, actual: string; msg: string = ''; errorAddr: Pointer = nil); virtual;
  20. class function Suite: TTest;
  21. {
  22. *** TODO ***
  23. procedure CheckEqualsBin(expected, actual: longword; msg: string = ''; digits: integer=32); virtual;
  24. procedure CheckEqualsHex(expected, actual: longword; msg: string = ''; digits: integer=8); virtual;
  25. procedure CheckNotEqualsBin(expected, actual: longword; msg: string = ''; digits: integer=32); virtual;
  26. procedure CheckNotEqualsHex(expected, actual: longword; msg: string = ''; digits: integer=8); virtual;
  27. procedure CheckNotNull(obj :IUnknown; msg :string = ''); overload; virtual;
  28. procedure CheckSame(expected, actual: IUnknown; msg: string = ''); overload; virtual;
  29. procedure CheckException(AMethod: TTestMethod; AExceptionClass: TClass; msg :string = '');
  30. procedure CheckInherits(expected, actual: TClass; msg: string = ''); overload; virtual;
  31. }
  32. {$ENDIF read_interface}
  33. {$IFDEF read_implementation}
  34. class procedure TAssert.Check(pValue: boolean; pMessage: string);
  35. begin
  36. AssertTrue(pMessage, pValue);
  37. end;
  38. class procedure TAssert.CheckEquals(expected, actual: extended; msg: string);
  39. begin
  40. AssertEquals(msg, expected, actual);
  41. end;
  42. class procedure TAssert.CheckEquals(expected, actual: string; msg: string);
  43. begin
  44. AssertEquals(msg, expected, actual);
  45. end;
  46. class procedure TAssert.CheckEquals(expected, actual: extended;
  47. delta: extended; msg: string);
  48. begin
  49. AssertEquals(msg, expected, actual, delta);
  50. end;
  51. class procedure TAssert.CheckEquals(expected, actual: integer; msg: string);
  52. begin
  53. AssertEquals(msg, expected, actual);
  54. end;
  55. class procedure TAssert.CheckEquals(expected, actual: boolean; msg: string);
  56. begin
  57. AssertEquals(msg, expected, actual);
  58. end;
  59. class procedure TAssert.CheckEquals(expected, actual: TClass; msg: string);
  60. begin
  61. AssertEquals(msg, expected, actual);
  62. end;
  63. class procedure TAssert.CheckNotEquals(expected, actual: string; msg: string);
  64. begin
  65. if AnsiCompareStr(Expected, Actual) = 0 then
  66. Fail(msg + ComparisonMsg(Expected, Actual));
  67. end;
  68. class procedure TAssert.CheckNotEquals(expected, actual: integer; msg: string);
  69. begin
  70. if (expected = actual) then
  71. Fail(msg + ComparisonMsg(IntToStr(expected), IntToStr(actual)));
  72. end;
  73. class procedure TAssert.CheckNotEquals(expected, actual: boolean; msg: string);
  74. begin
  75. if (expected = actual) then
  76. Fail(msg + ComparisonMsg(BoolToStr(expected), BoolToStr(actual)));
  77. end;
  78. class procedure TAssert.CheckNotEquals(expected: extended; actual: extended;
  79. delta: extended; msg: string);
  80. begin
  81. if (abs(expected-actual) <= delta) then
  82. FailNotEquals(FloatToStr(expected), FloatToStr(actual), msg, nil);
  83. end;
  84. class procedure TAssert.CheckNull(obj: IUnknown; msg: string);
  85. begin
  86. AssertNullIntf(msg, obj);
  87. end;
  88. class procedure TAssert.CheckNull(obj: TObject; msg: string);
  89. begin
  90. AssertNull(msg, obj);
  91. end;
  92. class procedure TAssert.CheckNotNull(obj: TObject; msg: string);
  93. begin
  94. AssertNotNull(msg, obj);
  95. end;
  96. class procedure TAssert.CheckIs(obj: TObject; pClass: TClass; msg: string);
  97. begin
  98. Assert(pClass <> nil);
  99. if obj = nil then
  100. Fail(ComparisonMsg(pClass.ClassName, 'nil'))
  101. else if not obj.ClassType.InheritsFrom(pClass) then
  102. Fail(ComparisonMsg(pClass.ClassName, obj.ClassName));
  103. end;
  104. class procedure TAssert.CheckSame(expected, actual: TObject; msg: string);
  105. begin
  106. AssertSame(msg, expected, actual);
  107. end;
  108. class procedure TAssert.FailNotEquals(expected, actual: string; msg: string;
  109. errorAddr: Pointer);
  110. begin
  111. Fail(msg + ComparisonMsg(Expected, Actual));
  112. end;
  113. class function TAssert.Suite: TTest;
  114. begin
  115. result := TTestSuite.Create(self);
  116. end;
  117. {$ENDIF read_implementation}