anchor.diff:      public
         property LastWrittenLine : String read FLastWrittenLine;
         property WrittenLinesCount : Integer read FWrittenLinesCount;
  +  end;
  +
  +  TMethodHolderObj = class abstract (TPersistent)
  +    published
  +      function  FuncMethod(const StrParam : String; IntParam : Integer;
  +        out ObjParam : TObject) : TTypeKind; virtual; abstract;
  +      procedure ProcMethod(const StrParam : String; IntParam : Integer;
  +        out ObjParam : TObject); virtual; abstract;
  +  end;
  +
  +  TMethodHolderRec = record
  +    public
  +      function  FuncMethod(const StrParam : String; IntParam : Integer; out ObjParam : TObject) : TTypeKind;
  +      procedure ProcMethod(const StrParam : String; IntParam : Integer; out ObjParam : TObject);
     end;
   
     { SUT }
  
positive.code: end;
  
  procedure TestTLogger.TestEnterMethod;
  //var
  //  Params: $13;
  //  MethodAddress: Pointer;
  //  AClass: TClass;
  begin
    // TODO: Setup method call parameters
    //FAbstractLogger.EnterMethod(AClass, MethodAddress, Params);
    // TODO: Validate method results
  end;
  
  procedure TestTLogger.TestEnterMethod1;
  //var
  //  Params: $15;
  //  MethodAddress: Pointer;
  //  ARecord: PTypeInfo;
  begin
    // TODO: Setup method call parameters
    //FAbstractLogger.EnterMethod(ARecord, MethodAddress, Params);
    // TODO: Validate method results
  end;
  
  procedure TestTLogger.TestLeaveMethod;
  var
    AResult: TValue;
    MethodAddress: Pointer;
    AClass: TClass;
  begin
    // TODO: Setup method call parameters
    MethodAddress := @TestTLogger.TestLeaveMethod;
    AClass := TestTLogger;
    SUT.LeaveMethod(AClass, MethodAddress, AResult);
    // TODO: Validate method results
  end;
  
  procedure TestTLogger.TestLeaveMethod1;
  var
    AResult: TValue;
    MethodAddress: Pointer;
    ARecord: PTypeInfo;
  begin
    // TODO: Setup method call parameters
    MethodAddress := nil;
    ARecord := nil;
    SUT.LeaveMethod(ARecord, MethodAddress, AResult);
    // TODO: Validate method results
  end;
  
  procedure TestTLogger.TestLog;
  
negative.code: 
  uses
    TestFramework,
    System.Classes, System.Rtti, System.TypInfo,
    FIToolkit.Logger.Intf, FIToolkit.Logger.Impl, FIToolkit.Logger.Types,
    TestUtils;
  
  