function testBatchFile()
 {
     global $client;
     $batchID = 0;
     $uploadedFilePath = "";
     //BatchSave
     $batch = new Batch();
     $batch->setBatchStatusId("Waiting");
     $batch->setBatchTypeId("ItemImport");
     $batch->setCompanyId(31115);
     $batch->setName("ItemImportTest.xls");
     $batch->setOptions("Add File");
     $batchFile = new BatchFile();
     $batchFile->setName("ItemImportTest.xls");
     $filename = "c:\\Batch\\ItemImportTest.xls";
     $contents = $this->ReadContents($filename);
     $batchFile->setFilePath($filename);
     $batchFile->setSize(strlen($contents));
     $batchFile->setContent($contents);
     $batchFiles = array($batchFile);
     $batch->setFiles($batchFiles);
     $batchSaveResult = $client->BatchSave($batch);
     $this->assertEqual(SeverityLevel::$Success, $batchSaveResult->getResultCode());
     $batchID = $batchSaveResult->getBatchId();
     //BatchFileSave- save BatchFile in that BAtchFile only
     $file = new BatchFile();
     //Set BatchId for recently stored batch
     $file->setBatchId($batchID);
     $file->setName("Error.xls");
     $file->setSize(100);
     $file->setContentType("content type");
     $filename = "c:\\Batch\\Errors.xls";
     $contents = $this->ReadContents($filename);
     $file->setContent($contents);
     $fileSaveResult = $client->BatchFileSave($file);
     $this->assertEqual(SeverityLevel::$Success, $fileSaveResult->getResultCode());
     //BatchFileFetch
     $fetchRequest = new FetchRequest();
     $fetchRequest->setFields("*,Content");
     $fetchRequest->setFilters("BatchFileId=" . $fileSaveResult->getBatchFileId());
     $batchFileFetchResult = $client->BatchFileFetch($fetchRequest);
     $this->assertEqual(SeverityLevel::$Success, $batchFileFetchResult->getResultCode());
     foreach ($batchFileFetchResult->getBatchFiles() as $batchFile) {
         $this->assertEqual("Error.xls", $batchFile->getName());
     }
     //BatchFile delete
     $delRequest = new DeleteRequest();
     $delRequest->setFilters("BatchFileId=" . $fileSaveResult->getBatchFileId());
     $delRequest->setMaxCount(1);
     $delResult = $client->BatchFileDelete($delRequest);
     $this->assertEqual(SeverityLevel::$Success, $delResult->getResultCode());
     //Batch Delete
     $delRequest = new DeleteRequest();
     $delRequest->setFilters("BatchId=" . $batchID);
     $delResult = $client->BatchDelete($delRequest);
     $this->assertEqual(SeverityLevel::$Success, $delResult->getResultCode());
 }