TestFailChecklessTests.pas
上传用户:yjb1804
上传日期:2021-01-30
资源大小:3105k
文件大小:3k
源码类别:

Email服务器

开发平台:

Delphi

  1. { $Id: TestFailChecklessTests.pas,v 1.1 2006/07/19 02:54:05 judc Exp $ }
  2. {: DUnit: An XTreme testing framework for Delphi programs.
  3.    @author  The DUnit Group.
  4.    @version $Revision: 1.1 $
  5. }
  6. (*
  7.  * The contents of this file are subject to the Mozilla Public
  8.  * License Version 1.1 (the "License"); you may not use this file
  9.  * except in compliance with the License. You may obtain a copy of
  10.  * the License at http://www.mozilla.org/MPL/
  11.  *
  12.  * Software distributed under the License is distributed on an "AS
  13.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  14.  * implied. See the License for the specific language governing
  15.  * rights and limitations under the License.
  16.  *
  17.  * The Original Code is DUnit.
  18.  *
  19.  * The Initial Developers of the Original Code are Kent Beck, Erich Gamma,
  20.  * and Juancarlo A馿z.
  21.  * Portions created The Initial Developers are Copyright (C) 1999-2000.
  22.  * Portions created by The DUnit Group are Copyright (C) 2000.
  23.  * All rights reserved.
  24.  *
  25.  * Contributor(s):
  26.  * Kent Beck <kentbeck@csi.com>
  27.  * Erich Gamma <Erich_Gamma@oti.com>
  28.  * Juanco A馿z <juanco@users.sourceforge.net>
  29.  * Chris Morris <chrismo@users.sourceforge.net>
  30.  * Jeff Moore <JeffMoore@users.sourceforge.net>
  31.  * Kris Golko <neuromancer@users.sourceforge.net>
  32.  * The DUnit group at SourceForge <http://dunit.sourceforge.net>
  33.  *
  34.  *)
  35. unit TestFailChecklessTests;
  36. interface
  37. uses
  38.   TestFrameWork;
  39. type
  40.   TTestEmptyTestProcs = class(TTestCase)
  41.   published
  42.     procedure TestWithActiveCallToCheck;
  43.     procedure EmptyTestOptimizationOn;
  44.     procedure EmptyTestOptimizationOff;
  45.     procedure TestWithNoCallToCheck;
  46.     procedure TestWithNoCallToCheck_FailSuppressed;
  47.   end;
  48. implementation
  49. uses
  50.   windows;
  51. {$IFOPT O+}
  52. {$DEFINE OPTIMIZED}
  53. {$OPTIMIZATION OFF}
  54. {$ENDIF}
  55. procedure TTestEmptyTestProcs.EmptyTestOptimizationOff;
  56. begin
  57. // Test left intentionally empty
  58. end;
  59. {$IFDEF OPTIMIZED}
  60. {$OPTIMIZATION ON}
  61. {$ENDIF}
  62. {$IFOPT O-}
  63. {$DEFINE UNOPTIMIZED}
  64. {$OPTIMIZATION ON}
  65. {$ENDIF}
  66. procedure TTestEmptyTestProcs.EmptyTestOptimizationOn;
  67. begin
  68. // Test left intentionally empty
  69. end;
  70. procedure TTestEmptyTestProcs.TestWithNoCallToCheck;
  71. begin
  72.   // Just sufficient code to thwart optimisation
  73.   Sleep(10);
  74. end;
  75. procedure TTestEmptyTestProcs.TestWithActiveCallToCheck;
  76. begin
  77.   CheckTrue(True, 'Failed simple "True" check');
  78. end;
  79. procedure TTestEmptyTestProcs.TestWithNoCallToCheck_FailSuppressed;
  80. begin
  81.   FailsOnNoChecksExecuted := False;
  82. end;
  83. {$IFDEF UNOPTIMIZED}
  84. {$OPTIMIZATION OFF}
  85. {$ENDIF}
  86. initialization
  87.   TestFramework.RegisterTest(TTestEmptyTestProcs.Suite);
  88. end.