@Test(dataProvider = "PcrErrorModelTestProvider", enabled = true)
  public void createPcrErrorModelTest(final String repeat, final int repeatLength) {

    final LikelihoodCalculationEngine engine =
        new LikelihoodCalculationEngine(
            (byte) 0,
            false,
            PairHMM.HMM_IMPLEMENTATION.ORIGINAL,
            0.0,
            true,
            LikelihoodCalculationEngine.PCR_ERROR_MODEL.CONSERVATIVE);

    final String readString = Utils.dupString(repeat, repeatLength);
    final byte[] insQuals = new byte[readString.length()];
    final byte[] delQuals = new byte[readString.length()];
    Arrays.fill(insQuals, (byte) LikelihoodCalculationEngine.INITIAL_QSCORE);
    Arrays.fill(delQuals, (byte) LikelihoodCalculationEngine.INITIAL_QSCORE);

    engine.applyPCRErrorModel(readString.getBytes(), insQuals, delQuals);

    final RepeatCovariate repeatCovariate = new RepeatLengthCovariate();
    repeatCovariate.initialize(
        LikelihoodCalculationEngine.MAX_STR_UNIT_LENGTH,
        LikelihoodCalculationEngine.MAX_REPEAT_LENGTH);

    for (int i = 1; i < insQuals.length; i++) {

      final int repeatLengthFromCovariate =
          repeatCovariate.findTandemRepeatUnits(readString.getBytes(), i - 1).getSecond();
      final byte adjustedScore =
          LikelihoodCalculationEngine.getErrorModelAdjustedQual(repeatLengthFromCovariate, 3.0);

      Assert.assertEquals(insQuals[i - 1], adjustedScore);
      Assert.assertEquals(delQuals[i - 1], adjustedScore);
    }
  }