anchor.diff:      procedure CheckStreamMatch(aStream1,aStream2 : TStream;Msg : String);
       procedure CheckFileExists(aFileName : String);
       procedure Setup; override;
  +    procedure FilesInDirectory(const aDir : String;FileList : TStringList);
  +    procedure CheckDirMatch(aDir1,aDir2 : string;IgnoreMissingFiles: Boolean = true);
       // Call this routine with GREAT Caution!!!!
       function DelTree(Dir : String) : Boolean;
   
  
positive.code:           {$ELSE}
               Result := '';
            {$ENDIF}
  	  tkDynArray:
  		DynArrayToVariant(Result, Pointer(GetOrdProp(Instance, PropInfo)), PropInfo^.PropType^);
      else
        raise Exception.Create('Invalid Property Type: ' + PropInfo.PropType^^.Name);
      end;
  
negative.code:        FileList.free;
       end;
     end; { If File Found with FindFirst }
  end;
  
  procedure TabTestCase.FilesInDirectory(const aDir: String;
    FileList: TStringList);
  var
   SR : TSearchRec;
  begin
   Check(FileList <> nil,'FileList is not assigned');
   Check(DirectoryExists(aDir),'Directory Requested does not exist : '+ aDir);
   FileList.Clear;
   if FindFirst(IncludeTrailingBackslash(aDir)+'*.*',faAnyFile,SR) = 0 then
    begin
      repeat
        if not (SR.Attr and faDirectory > 0) then // Don't include Sub directories
          FileList.Add(SR.Name);
      until FindNext(SR) <> 0;
    end;
    FindClose(SR);
  end;
  
  function TabTestCase.GetTestFileDir: string;
  