@Test
public void shouldDecodeValidEncodedFeatureRowV2() {

  FeatureRowDecoder decoder = new FeatureRowDecoder("feature_set_ref", spec);
  FeatureRowProto.FeatureRow encodedFeatureRow =
      FeatureRowProto.FeatureRow.newBuilder()
          .setEventTimestamp(Timestamp.newBuilder().setNanos(1000))
          .addFields(
              Field.newBuilder()
                  .setName(
                      Hashing.murmur3_32()
                          .hashString("feature1", StandardCharsets.UTF_8)
                          .toString())
                  .setValue(Value.newBuilder().setInt32Val(2)))
          .addFields(
              Field.newBuilder()
                  .setName(
                      Hashing.murmur3_32()
                          .hashString("feature2", StandardCharsets.UTF_8)
                          .toString())
                  .setValue(Value.newBuilder().setFloatVal(1.0f)))
          .build();
  FeatureRowProto.FeatureRow expectedFeatureRow =
      FeatureRowProto.FeatureRow.newBuilder()
          .setFeatureSet("feature_set_ref")
          .setEventTimestamp(Timestamp.newBuilder().setNanos(1000))
          .addFields(
              Field.newBuilder().setName("feature1").setValue(Value.newBuilder().setInt32Val(2)))
          .addFields(
              Field.newBuilder()
                  .setName("feature2")
                  .setValue(Value.newBuilder().setFloatVal(1.0f)))
          .build();
  assertEquals(expectedFeatureRow, decoder.decode(encodedFeatureRow));
}