@Test
public void testScnPositionSetter2()
  throws Exception
{

  final Logger log = Logger.getLogger("TestTrailFilePositionSetter.testScnPositionSetter2");
  log.info("starting");
  String[] newLines = { "\r", "\n", "\r\n" };
  for (String newLine : newLines)
  {
    // Iterate by Number of Tags per line
    for (int j = 10; j < 32; j++ )
    {
      log.info("NumPerLine: " + j);
      File dir = createTempDir();
      createTrailFiles(dir.getAbsolutePath(), TRAIL_FILENAME_PREFIX,100, 200,j,newLine,0, -1, "", false, "");
      log.info("Directory is: " + dir);
      TrailFilePositionSetter posSetter = null;
      //GoldenGateTransactionSCNFinder finder = new GoldenGateTransactionSCNFinder();
      GGXMLTrailTransactionFinder finder = new GGXMLTrailTransactionFinder();
      //less than minScn
      log.info("less than MinScn case started !!");
      for (long i = 0 ; i < 100 ; i ++)
      {
        if ( true )break;
        posSetter = new TrailFilePositionSetter(dir.getAbsolutePath(), TRAIL_FILENAME_PREFIX);
        //finder = new GoldenGateTransactionSCNFinder();
        finder = new GGXMLTrailTransactionFinder();
        FilePositionResult res = posSetter.getFilePosition(i,finder);
        Assert.assertEquals(res.getStatus(),FilePositionResult.Status.ERROR,"Result Status");
      }
      log.info("less than MinScn case passed !!");
      //Found Case
      for (long i = 100 ; i < 300 ; i ++)
      {
        posSetter = new TrailFilePositionSetter(dir.getAbsolutePath(), TRAIL_FILENAME_PREFIX);
        finder = new GGXMLTrailTransactionFinder();
        log.info("SCN:  " + i);
        FilePositionResult res = posSetter.getFilePosition(i,finder);
        log.info("For scn (" + i + "):  the result is:  "  + res);
        if (i%2 == 0)
          assertFilePositionResult(res,dir,i+1,FilePositionResult.Status.EXACT_SCN_NOT_FOUND);
        else
          assertFilePositionResult(res,dir,i,FilePositionResult.Status.FOUND);
      }
      //Found Case
      FilePositionResult res = null;
      for (long i = 300 ; i < 320 ; i ++)
      {
        posSetter = new TrailFilePositionSetter(dir.getAbsolutePath(), TRAIL_FILENAME_PREFIX);
        //finder = new GoldenGateTransactionSCNFinder();
        finder = new GGXMLTrailTransactionFinder();
        res = posSetter.getFilePosition(i,finder);
        //log.info("For scn (" + i + "):  the result is:  "  + res);
        assertFilePositionResult(res,dir,299,FilePositionResult.Status.EXACT_SCN_NOT_FOUND);
      }
      // USE Latest SCN (-1)
      posSetter = new TrailFilePositionSetter(dir.getAbsolutePath(), TRAIL_FILENAME_PREFIX);
      //finder = new GoldenGateTransactionSCNFinder();
      finder = new GGXMLTrailTransactionFinder();
      res = posSetter.getFilePosition(-1,finder);
      //log.info("For scn (" + i + "):  the result is:  "  + res);
      assertFilePositionResult(res,dir,299,FilePositionResult.Status.FOUND);
    }
  }
  log.info(DONE_STRING);
}