Program: 176181
Project: 176181
Buggy source:
@Test public void testPopulateEntites(){
  logger.info("String_Node_Str");
  EntityManager em=emf.createEntityManager();
  final String originalName="String_Node_Str";
  PersonRedis object=new PersonRedis();
  object.setAge(32);
  object.setPersonId(ROW_KEY);
  object.setPersonName(originalName);
  em.persist(object);
  object.setAge(34);
  object.setPersonId(ROW_KEY + 1);
  object.setPersonName(originalName);
  em.persist(object);
  object.setAge(29);
  object.setPersonId(ROW_KEY + 3);
  object.setPersonName(originalName);
  em.persist(object);
  String findWithOutWhereClause="String_Node_Str";
  Query query=em.createQuery(findWithOutWhereClause);
  List<PersonRedis> results=query.getResultList();
  Assert.assertEquals(3,results.size());
  String findById="String_Node_Str";
  query=em.createQuery(findById);
  query.setParameter("String_Node_Str",ROW_KEY);
  results=query.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String findByAge="String_Node_Str";
  query=em.createQuery(findByAge);
  query.setParameter("String_Node_Str",32);
  results=query.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  Assert.assertEquals(ROW_KEY,results.get(0).getPersonId());
  String findByIdAndAge="String_Node_Str";
  query=em.createQuery(findByIdAndAge);
  query.setParameter("String_Node_Str",ROW_KEY);
  query.setParameter("String_Node_Str",32);
  results=query.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String findAgeByBetween="String_Node_Str";
  query=em.createQuery(findAgeByBetween);
  query.setParameter("String_Node_Str",32);
  query.setParameter("String_Node_Str",35);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String findIdByBetween="String_Node_Str";
  query=em.createQuery(findIdByBetween);
  query.setParameter("String_Node_Str",ROW_KEY);
  query.setParameter("String_Node_Str",ROW_KEY + 1);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String findAgeByGTELTEClause="String_Node_Str";
  query=em.createQuery(findAgeByGTELTEClause);
  query.setParameter("String_Node_Str",32);
  query.setParameter("String_Node_Str",35);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String q="String_Node_Str";
  query=em.createQuery(q);
  results=query.getResultList();
  Assert.assertNotNull(results);
  Assert.assertEquals(3,results.size());
  Assert.assertNotNull(results.get(0).getPersonId());
  Assert.assertNull(results.get(0).getPersonName());
  Assert.assertNull(results.get(0).getAge());
  String findIdByGTELTEClause="String_Node_Str";
  query=em.createQuery(findIdByGTELTEClause);
  query.setParameter("String_Node_Str",32);
  query.setParameter("String_Node_Str",35);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertNotNull(results.get(0).getPersonId());
  Assert.assertNotNull(results.get(0).getPersonName());
  Assert.assertNotNull(results.get(0).getAge());
  try {
    String invalidDifferentClause="String_Node_Str";
    query=em.createQuery(invalidDifferentClause);
    query.setParameter("String_Node_Str",ROW_KEY);
    query.setParameter("String_Node_Str",32);
    query.getResultList();
    Assert.fail("String_Node_Str");
  }
 catch (  QueryHandlerException qhex) {
    Assert.assertNotNull(qhex);
  }
  String findSelective="String_Node_Str";
  query=em.createQuery(findSelective);
  results=query.getResultList();
  Assert.assertEquals(3,results.size());
  Assert.assertNull(results.get(0).getPersonName());
  Assert.assertNotNull(results.get(0).getAge());
  String findByIdOrAge="String_Node_Str";
  query=em.createQuery(findByIdOrAge);
  query.setParameter("String_Node_Str",ROW_KEY);
  query.setParameter("String_Node_Str",29);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  boolean isPresent=false;
  for (  PersonRedis r : results) {
    if (r.getAge().equals(29) && !r.getPersonId().equals(ROW_KEY)) {
      isPresent=true;
      break;
    }
  }
  Assert.assertTrue(isPresent);
  String findByIdMoreOrAge="String_Node_Str";
  query=em.createQuery(findByIdMoreOrAge);
  query.setParameter("String_Node_Str",ROW_KEY);
  query.setParameter("String_Node_Str",29);
  query.setParameter("String_Node_Str",originalName);
  results=query.getResultList();
  Assert.assertEquals(3,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String deleteQuery="String_Node_Str";
  query=em.createQuery(deleteQuery);
  int updateCount=query.executeUpdate();
  Assert.assertEquals(3,updateCount);
  findWithOutWhereClause="String_Node_Str";
  query=em.createQuery(findWithOutWhereClause);
  results=query.getResultList();
  Assert.assertNotNull(results);
  Assert.assertTrue(results.isEmpty());
}

Fixed version (ground truth):
@Test public void testPopulateEntites(){
  logger.info("String_Node_Str");
  EntityManager em=emf.createEntityManager();
  purge(em);
  final String originalName="String_Node_Str";
  PersonRedis object=new PersonRedis();
  object.setAge(32);
  object.setPersonId(ROW_KEY);
  object.setPersonName(originalName);
  em.persist(object);
  object.setAge(34);
  object.setPersonId(ROW_KEY + 1);
  object.setPersonName(originalName);
  em.persist(object);
  object.setAge(29);
  object.setPersonId(ROW_KEY + 3);
  object.setPersonName(originalName);
  em.persist(object);
  String findWithOutWhereClause="String_Node_Str";
  Query query=em.createQuery(findWithOutWhereClause);
  List<PersonRedis> results=query.getResultList();
  Assert.assertEquals(3,results.size());
  String findById="String_Node_Str";
  query=em.createQuery(findById);
  query.setParameter("String_Node_Str",ROW_KEY);
  results=query.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String findByAge="String_Node_Str";
  query=em.createQuery(findByAge);
  query.setParameter("String_Node_Str",32);
  results=query.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  Assert.assertEquals(ROW_KEY,results.get(0).getPersonId());
  String findByIdAndAge="String_Node_Str";
  query=em.createQuery(findByIdAndAge);
  query.setParameter("String_Node_Str",ROW_KEY);
  query.setParameter("String_Node_Str",32);
  results=query.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String findAgeByBetween="String_Node_Str";
  query=em.createQuery(findAgeByBetween);
  query.setParameter("String_Node_Str",32);
  query.setParameter("String_Node_Str",35);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String findIdByBetween="String_Node_Str";
  query=em.createQuery(findIdByBetween);
  query.setParameter("String_Node_Str",ROW_KEY);
  query.setParameter("String_Node_Str",ROW_KEY + 1);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String findAgeByGTELTEClause="String_Node_Str";
  query=em.createQuery(findAgeByGTELTEClause);
  query.setParameter("String_Node_Str",32);
  query.setParameter("String_Node_Str",35);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String q="String_Node_Str";
  query=em.createQuery(q);
  results=query.getResultList();
  Assert.assertNotNull(results);
  Assert.assertEquals(3,results.size());
  Assert.assertNotNull(results.get(0).getPersonId());
  Assert.assertNull(results.get(0).getPersonName());
  Assert.assertNull(results.get(0).getAge());
  String findIdByGTELTEClause="String_Node_Str";
  query=em.createQuery(findIdByGTELTEClause);
  query.setParameter("String_Node_Str",32);
  query.setParameter("String_Node_Str",35);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertNotNull(results.get(0).getPersonId());
  Assert.assertNotNull(results.get(0).getPersonName());
  Assert.assertNotNull(results.get(0).getAge());
  try {
    String invalidDifferentClause="String_Node_Str";
    query=em.createQuery(invalidDifferentClause);
    query.setParameter("String_Node_Str",ROW_KEY);
    query.setParameter("String_Node_Str",32);
    query.getResultList();
    Assert.fail("String_Node_Str");
  }
 catch (  QueryHandlerException qhex) {
    Assert.assertNotNull(qhex);
  }
  String findSelective="String_Node_Str";
  query=em.createQuery(findSelective);
  results=query.getResultList();
  Assert.assertEquals(3,results.size());
  Assert.assertNull(results.get(0).getPersonName());
  Assert.assertNotNull(results.get(0).getAge());
  String findByIdOrAge="String_Node_Str";
  query=em.createQuery(findByIdOrAge);
  query.setParameter("String_Node_Str",ROW_KEY);
  query.setParameter("String_Node_Str",29);
  results=query.getResultList();
  Assert.assertEquals(2,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  boolean isPresent=false;
  for (  PersonRedis r : results) {
    if (r.getAge().equals(29) && !r.getPersonId().equals(ROW_KEY)) {
      isPresent=true;
      break;
    }
  }
  Assert.assertTrue(isPresent);
  String findByIdMoreOrAge="String_Node_Str";
  query=em.createQuery(findByIdMoreOrAge);
  query.setParameter("String_Node_Str",ROW_KEY);
  query.setParameter("String_Node_Str",29);
  query.setParameter("String_Node_Str",originalName);
  results=query.getResultList();
  Assert.assertEquals(3,results.size());
  Assert.assertEquals(originalName,results.get(0).getPersonName());
  String deleteQuery="String_Node_Str";
  query=em.createQuery(deleteQuery);
  int updateCount=query.executeUpdate();
  Assert.assertEquals(3,updateCount);
  findWithOutWhereClause="String_Node_Str";
  query=em.createQuery(findWithOutWhereClause);
  results=query.getResultList();
  Assert.assertNotNull(results);
  Assert.assertTrue(results.isEmpty());
}