Program: 31266
Project: 31266
Buggy source:
@Test public void testClassToGenericPublish() throws Exception {
  JournalWriter<Quote> w=factory.writer(Quote.class,"String_Node_Str");
  JournalServer server=new JournalServer(new ServerConfig(){
{
      addNode(new ServerNode(1,"String_Node_Str"));
      setHeartbeatFrequency(100);
      setEnableMultiCast(false);
    }
  }
,factory);
  server.publish(w);
  server.start();
  final CountDownLatch ready=new CountDownLatch(1);
  JournalClient client=new JournalClient(new ClientConfig("String_Node_Str"){
{
      setEnableMultiCast(false);
    }
  }
,factory);
  client.subscribe(new JournalKey("String_Node_Str"),new JournalKey("String_Node_Str"),new TxListener(){
    @Override public void onCommit(){
      ready.countDown();
    }
    @Override public void onError(){
    }
  }
);
  client.start();
  TestUtils.generateQuoteData(w,100,Dates.parseDateTime("String_Node_Str"));
  w.commit();
  Assert.assertTrue(ready.await(1,TimeUnit.SECONDS));
  StringSink sink=new StringSink();
  RecordSourcePrinter p=new RecordSourcePrinter(sink);
  p.printCursor(compiler.compileSource(factory,"String_Node_Str"),factory);
  final String expected="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  Assert.assertEquals(expected,sink.toString());
  client.halt();
  server.halt();
}

Fixed version (ground truth):
@Test public void testClassToGenericPublish() throws Exception {
  JournalWriter<Quote> w=factory.writer(Quote.class,"String_Node_Str");
  JournalServer server=new JournalServer(new ServerConfig(){
{
      addNode(new ServerNode(1,"String_Node_Str"));
      setHeartbeatFrequency(100);
      setEnableMultiCast(false);
    }
  }
,factory);
  server.publish(w);
  server.start();
  final CountDownLatch ready=new CountDownLatch(1);
  JournalClient client=new JournalClient(new ClientConfig("String_Node_Str"){
{
      setEnableMultiCast(false);
    }
  }
,factory);
  client.subscribe(new JournalKey("String_Node_Str"),new JournalKey("String_Node_Str"),new TxListener(){
    @Override public void onCommit(){
      ready.countDown();
    }
    @Override public void onError(){
    }
  }
);
  client.start();
  TestUtils.generateQuoteData(w,100,Dates.parseDateTime("String_Node_Str"));
  w.commit();
  Assert.assertTrue(ready.await(1,TimeUnit.SECONDS));
  StringSink sink=new StringSink();
  RecordSourcePrinter p=new RecordSourcePrinter(sink);
  p.print(compiler.compileSource(factory,"String_Node_Str"),factory);
  final String expected="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  Assert.assertEquals(expected,sink.toString());
  client.halt();
  server.halt();
}