anchor.diff:  procedure CreateLogger(var ALogger: ISvLogger);
   begin
     FLogger := ALogger;
  +end;
  +
  +procedure CreateMockLogger;
  +begin
  +  FLogger := TSvMockLogger.Create;
   end;
   
   { TSvBaseLogger }
  
positive.code:     property Level: TSvLogLevel read GetLevel write SetLevel;
    end;
  
  
  function Logger(): ISvLogger;
  
  procedure CreateLogger(var ALogger: ISvLogger);
  
  implementation
  
  
negative.code:   Log(TSvLogLevel.Warn, AMessage, AException);
  end;
  
  { TSvMockLogger }
  
  function TSvMockLogger.GetLevel: TSvLogLevel;
  begin
    Result := FLogLevel;
  end;
  
  procedure TSvMockLogger.Log(ALevel: TSvLogLevel; const AMessage: string; AException: Exception);
  begin
    Writeln(Trim(AMessage));
  end;
  
  procedure TSvMockLogger.SetLevel(const Value: TSvLogLevel);
  begin
    FLogLevel := Value;
  end;
  
  end.
  