Program: 176620
Project: 176620
Buggy source:
@Test public void testPersistJoinTableData(){
  final String schemaName="String_Node_Str";
  final String tableName="String_Node_Str";
  final String joinColumn="String_Node_Str";
  final String inverseJoinColumn="String_Node_Str";
  JoinTableData joinTableData=new JoinTableData(OPERATION.INSERT,schemaName,tableName,joinColumn,inverseJoinColumn,null);
  String joinKey1="String_Node_Str";
  Integer joinKey2=new Integer(2);
  Integer inverseJoinKey1=new Integer(1);
  Double inverseJoinKey2=new Double(2.2);
  String inverseJoinKey3="String_Node_Str";
  Set inverseJoinKeysFor1=new HashSet();
  inverseJoinKeysFor1.add(inverseJoinKey1);
  inverseJoinKeysFor1.add(inverseJoinKey2);
  Set inverseJoinKeysFor2=new HashSet();
  inverseJoinKeysFor2.add(inverseJoinKey2);
  inverseJoinKeysFor2.add(inverseJoinKey3);
  joinTableData.addJoinTableRecord(joinKey1,inverseJoinKeysFor1);
  joinTableData.addJoinTableRecord(joinKey2,inverseJoinKeysFor2);
  EntityManager em=emf.createEntityManager();
  Map<String,Client> clients=(Map<String,Client>)em.getDelegate();
  OracleNoSQLClient client=(OracleNoSQLClient)clients.get(PU);
  client.persistJoinTable(joinTableData);
  List<String> columns=client.getColumnsById(schemaName,tableName,joinColumn,inverseJoinColumn,joinKey1,String.class);
  Assert.assertNotNull(columns);
  Assert.assertEquals(true,!columns.isEmpty());
  Assert.assertEquals(2,columns.size());
  Assert.assertEquals(true,columns.contains(inverseJoinKey1.toString()));
  Assert.assertEquals(true,columns.contains(inverseJoinKey2.toString()));
  Object[] ids=client.findIdsByColumn(schemaName,tableName,joinColumn,inverseJoinColumn,inverseJoinKey2,null);
  Assert.assertNotNull(ids);
  Assert.assertTrue(ids.length == 2);
  client.deleteByColumn(schemaName,tableName,inverseJoinColumn,inverseJoinKey1);
  client.deleteByColumn(schemaName,tableName,inverseJoinColumn,inverseJoinKey2);
  columns=client.getColumnsById(schemaName,tableName,joinColumn,inverseJoinColumn,joinKey1,String.class);
  Assert.assertTrue(columns.isEmpty());
}

Fixed version (ground truth):
@Test public void testPersistJoinTableData(){
  final String schemaName="String_Node_Str";
  final String tableName="String_Node_Str";
  final String joinColumn="String_Node_Str";
  final String inverseJoinColumn="String_Node_Str";
  JoinTableData joinTableData=new JoinTableData(OPERATION.INSERT,schemaName,tableName,joinColumn,inverseJoinColumn,PersonOTOOracleNoSQL.class);
  String joinKey1="String_Node_Str";
  Integer joinKey2=new Integer(2);
  Integer inverseJoinKey1=new Integer(1);
  Double inverseJoinKey2=new Double(2.2);
  String inverseJoinKey3="String_Node_Str";
  Set inverseJoinKeysFor1=new HashSet();
  inverseJoinKeysFor1.add(inverseJoinKey1);
  inverseJoinKeysFor1.add(inverseJoinKey2);
  Set inverseJoinKeysFor2=new HashSet();
  inverseJoinKeysFor2.add(inverseJoinKey2);
  inverseJoinKeysFor2.add(inverseJoinKey3);
  joinTableData.addJoinTableRecord(joinKey1,inverseJoinKeysFor1);
  joinTableData.addJoinTableRecord(joinKey2,inverseJoinKeysFor2);
  EntityManager em=emf.createEntityManager();
  Map<String,Client> clients=(Map<String,Client>)em.getDelegate();
  OracleNoSQLClient client=(OracleNoSQLClient)clients.get(PU);
  client.persistJoinTable(joinTableData);
  List<String> columns=client.getColumnsById(schemaName,tableName,joinColumn,inverseJoinColumn,joinKey1,String.class);
  Assert.assertNotNull(columns);
  Assert.assertEquals(true,!columns.isEmpty());
  Assert.assertEquals(2,columns.size());
  Assert.assertEquals(true,columns.contains(inverseJoinKey1.toString()));
  Assert.assertEquals(true,columns.contains(inverseJoinKey2.toString()));
  Object[] ids=client.findIdsByColumn(schemaName,tableName,joinColumn,inverseJoinColumn,inverseJoinKey2,PersonOTOOracleNoSQL.class);
  Assert.assertNotNull(ids);
  Assert.assertTrue(ids.length == 2);
  client.deleteByColumn(schemaName,tableName,inverseJoinColumn,inverseJoinKey1);
  client.deleteByColumn(schemaName,tableName,inverseJoinColumn,inverseJoinKey2);
  columns=client.getColumnsById(schemaName,tableName,joinColumn,inverseJoinColumn,joinKey1,String.class);
  Assert.assertTrue(columns.isEmpty());
}