anchor.diff:  
     TValueArray = array of TValue;
   
  -  ///  The TestCaseAttribute allows you to specify the name of a function that returns a
  -  ///  TValueArray which will be passed into a function that takes parameters. This is really only
  -  ///  needed to work around the problens with the TestCaseAttribute
  -  ///  Note that the types in the TConstArray should match the parameters of the method we are testing.
  +
  +  ///	<summary>
  +  ///	  The TestCaseAttribute allows you to specify the name of a function that
  +  ///	  returns a TValueArray which will be passed into a function that takes
  +  ///	  parameters. This is really only needed to work around the problens with
  +  ///	  the TestCaseAttribute.
  +  ///	</summary>
  +  ///	<remarks>
  +  ///	  Note that the types in the TConstArray should match the parameters of
  +  ///	  the method we are testing.
  +  ///	</remarks>
     TestCaseAttribute = class(TCustomAttribute)
     private
       FCaseName : string;
  
positive.code: 
    ITestLogger = interface
      ['{AADCA392-421C-4060-8D47-79D7CAAB0EEF}']
      //Called at the start of testing. The default console logger prints the DUnitX banner.
      procedure OnTestingStarts(const threadId : Cardinal);
  
      //Called before a Fixture is run.
      procedure OnStartTestFixture(const threadId : Cardinal; const fixture : ITestFixtureInfo);
  
      //Called before a fixture Setup method is run.
      procedure OnSetupFixture(const threadId : Cardinal; const fixture : ITestFixtureInfo);
      //Called afgter a ficture setup method is run.
      procedure OnEndSetupFixture(const threadId : Cardinal; const fixture : ITestFixtureInfo);
  
      //called before a Test method is run.
      procedure OnBeginTest(const threadId : Cardinal; Test: ITestInfo);
  
      //called before a test setup method is run.
      procedure OnSetupTest(const threadId : Cardinal; Test: ITestInfo);
      //called after a test setup method is run.
      procedure OnEndSetupTest(const threadId : Cardinal; Test: ITestInfo);
  
      //called before a Test method is run.
      procedure OnExecuteTest(const threadId : Cardinal; Test: ITestInfo);
  
  
      //called when a test succeeds.
      procedure OnTestSuccess(const threadId : Cardinal; Test: ITestResult);
      //called when a test errors.
      procedure OnTestError(const threadId : Cardinal; Error: ITestError);
      //called when a test fails.
      procedure OnTestFailure(const threadId : Cardinal; Failure: ITestResult);
      //called when a test results in a warning.
      procedure OnTestWarning(const threadId : Cardinal; AWarning: ITestResult);
  
      //allows tests to write to the log.
      procedure OnLog(const logType : TLogLevel; const msg : string);
  
      //called before a Test Teardown method is run.
      procedure OnTeardownTest(const threadId : Cardinal; Test: ITestInfo);
      //called after a test teardown method is run.
      procedure OnEndTeardownTest(const threadId : Cardinal; Test: ITestInfo);
      //called after a test method and teardown is run.
      procedure OnEndTest(const threadId : Cardinal; Test: ITestResult);
  
      //called before a Fixture Teardown method is called.
      procedure OnTearDownFixture(const threadId : Cardinal; const fixture : ITestFixtureInfo);
      //called after a Fixture Teardown method is called.
      procedure OnEndTearDownFixture(const threadId : Cardinal; const fixture : ITestFixtureInfo);
  
      //called after a Fixture has run.
      procedure OnEndTestFixture(const threadId : Cardinal; const results : IFixtureResult);
  
      //called after all fixtures have run.
      procedure OnTestingEnds(const TestResult: ITestResults);
    end;
  
  
negative.code:   Self.Log(TLogLevel.ltInformation,msg);
  end;
  
  procedure TTestFixtureHelper.WriteLn;
  begin
    Self.Log(TLogLevel.ltInformation,'');
  end;
  
  procedure TTestFixtureHelper.WriteLn(const msg: string);
  begin
  