Program: 7121
Project: 7121
Buggy source:
@Test public void testTransform() throws Exception {
  byte[] rowKey=Bytes.toBytes(28);
  final Schema schema=Schema.recordOf("String_Node_Str",Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.BOOLEAN))),Schema.Field.of("String_Node_Str",Schema.of(Schema.Type.INT)),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.LONG))),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.FLOAT))),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.DOUBLE))),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.BYTES))),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.STRING))));
  Map<byte[],byte[]> inputColumns=Maps.newTreeMap(Bytes.BYTES_COMPARATOR);
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes(true));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes(512L));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes(3.14f));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes("String_Node_Str"));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes("String_Node_Str"));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes("String_Node_Str"));
  Row input=new Result(rowKey,inputColumns);
  Transform transform=new RowToStructuredRecordTransform();
  TransformContext transformContext=new MockTransformContext(ImmutableMap.of("String_Node_Str","String_Node_Str","String_Node_Str",schema.toString()));
  transform.initialize(transformContext);
  MockEmitter<byte[],StructuredRecord> emitter=new MockEmitter<byte[],StructuredRecord>();
  transform.transform(rowKey,input,emitter);
  StructuredRecord actual=emitter.getEmitted(rowKey);
  Assert.assertTrue((Boolean)actual.get("String_Node_Str"));
  Assert.assertEquals(512L,actual.get("String_Node_Str"));
  Assert.assertTrue(Math.abs(3.14f - (Float)actual.get("String_Node_Str")) < 0.000001);
  Assert.assertEquals("String_Node_Str",Bytes.toString((byte[])actual.get("String_Node_Str")));
  Assert.assertEquals("String_Node_Str",actual.get("String_Node_Str"));
  Assert.assertNull(actual.get("String_Node_Str"));
  Assert.assertNull(actual.get("String_Node_Str"));
}

Fixed version (ground truth):
@Test public void testTransform() throws Exception {
  byte[] rowKey=Bytes.toBytes(28);
  final Schema schema=Schema.recordOf("String_Node_Str",Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.BOOLEAN))),Schema.Field.of("String_Node_Str",Schema.of(Schema.Type.INT)),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.LONG))),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.FLOAT))),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.DOUBLE))),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.BYTES))),Schema.Field.of("String_Node_Str",Schema.nullableOf(Schema.of(Schema.Type.STRING))));
  Map<byte[],byte[]> inputColumns=Maps.newTreeMap(Bytes.BYTES_COMPARATOR);
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes(true));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes(512L));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes(3.14f));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes("String_Node_Str"));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes("String_Node_Str"));
  inputColumns.put(Bytes.toBytes("String_Node_Str"),Bytes.toBytes("String_Node_Str"));
  Row input=new Result(rowKey,inputColumns);
  Transform transform=new RowToStructuredRecordTransform();
  TransformContext transformContext=new MockTransformContext(ImmutableMap.of("String_Node_Str","String_Node_Str","String_Node_Str",schema.toString()));
  transform.initialize(transformContext);
  MockEmitter<byte[],StructuredRecord> emitter=new MockEmitter<byte[],StructuredRecord>();
  transform.transform(rowKey,input,emitter);
  StructuredRecord actual=emitter.getEmitted().get(0).getVal();
  Assert.assertTrue((Boolean)actual.get("String_Node_Str"));
  Assert.assertEquals(512L,actual.get("String_Node_Str"));
  Assert.assertTrue(Math.abs(3.14f - (Float)actual.get("String_Node_Str")) < 0.000001);
  Assert.assertEquals("String_Node_Str",Bytes.toString((byte[])actual.get("String_Node_Str")));
  Assert.assertEquals("String_Node_Str",actual.get("String_Node_Str"));
  Assert.assertNull(actual.get("String_Node_Str"));
  Assert.assertNull(actual.get("String_Node_Str"));
}