@Test
  public void testGetByValueAndTypeId() throws Exception {

    int criteriaTypeId1 = 101, criteriaTypeId2 = 202;
    String optionValue1 = "alpha", optionValue2 = "bravo";

    CriteriaTypeOption cTO1 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO1);
    cTO1.setCriteriaTypeId(criteriaTypeId1);
    cTO1.setOptionValue(optionValue1);
    dao.persist(cTO1);

    CriteriaTypeOption cTO2 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO2);
    cTO2.setCriteriaTypeId(criteriaTypeId1);
    cTO2.setOptionValue(optionValue2);
    dao.persist(cTO2);

    CriteriaTypeOption cTO3 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO3);
    cTO3.setCriteriaTypeId(criteriaTypeId2);
    cTO3.setOptionValue(optionValue1);
    dao.persist(cTO3);

    CriteriaTypeOption cTO4 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO4);
    cTO4.setCriteriaTypeId(criteriaTypeId2);
    cTO4.setOptionValue(optionValue2);
    dao.persist(cTO4);

    CriteriaTypeOption expectedResult = cTO4;
    CriteriaTypeOption result = dao.getByValueAndTypeId(optionValue2, criteriaTypeId2);

    assertEquals(expectedResult, result);
  }
  @Test
  public void testGetByValue() throws Exception {

    String optionValue1 = "alpha", optionValue2 = "bravo", optionValue3 = "charlie";

    CriteriaTypeOption cTO1 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO1);
    cTO1.setOptionValue(optionValue1);
    dao.persist(cTO1);

    CriteriaTypeOption cTO2 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO2);
    cTO2.setOptionValue(optionValue2);
    dao.persist(cTO2);

    CriteriaTypeOption cTO3 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO3);
    cTO3.setOptionValue(optionValue3);
    dao.persist(cTO3);

    CriteriaTypeOption expectedResult = cTO2;
    CriteriaTypeOption result = dao.getByValue(optionValue2);

    assertEquals(expectedResult, result);
  }
 @Test
 public void testCreate() throws Exception {
   CriteriaTypeOption entity = new CriteriaTypeOption();
   EntityDataGenerator.generateTestDataForModelClass(entity);
   dao.persist(entity);
   assertNotNull(entity.getId());
 }
  @Test
  public void testFindAll() throws Exception {

    CriteriaTypeOption cTO1 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO1);
    dao.persist(cTO1);

    CriteriaTypeOption cTO2 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO2);
    dao.persist(cTO2);

    CriteriaTypeOption cTO3 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO3);
    dao.persist(cTO3);

    CriteriaTypeOption cTO4 = new CriteriaTypeOption();
    EntityDataGenerator.generateTestDataForModelClass(cTO4);
    dao.persist(cTO4);

    List<CriteriaTypeOption> expectedResult =
        new ArrayList<CriteriaTypeOption>(Arrays.asList(cTO1, cTO2, cTO3, cTO4));
    List<CriteriaTypeOption> result = dao.findAll();

    Logger logger = MiscUtils.getLogger();

    if (result.size() != expectedResult.size()) {
      logger.warn("Array sizes do not match.");
      fail("Array sizes do not match.");
    }
    for (int i = 0; i < expectedResult.size(); i++) {
      if (!expectedResult.get(i).equals(result.get(i))) {
        logger.warn("Items  do not match.");
        fail("Items  do not match.");
      }
    }
    assertTrue(true);
  }