@Test
public void shouldPopulateMissingFeatureValuesWithDefaultInstance() {

  FeatureRow featureRowWithDuplicatedFeatureFields =
      createFeatureRow(
          "myproject/feature_set",
          Timestamp.newBuilder().setSeconds(10).build(),
          field("entity_id_primary", 1, Enum.INT32),
          field("entity_id_secondary", "a", Enum.STRING),
          field("feature_1", "strValue1", Enum.STRING));
  RedisKey expectedKey =
      createRedisKey(
          "myproject/feature_set",
          field("entity_id_primary", 1, Enum.INT32),
          field("entity_id_secondary", "a", Enum.STRING));
  FeatureRow expectedValue =
      createFeatureRow(
          "",
          Timestamp.newBuilder().setSeconds(10).build(),
          field(hash("feature_1"), "strValue1", Enum.STRING),
          Field.newBuilder()
              .setName(hash("feature_2"))
              .setValue(Value.getDefaultInstance())
              .build());
  p.apply(Create.of(featureRowWithDuplicatedFeatureFields)).apply(redisFeatureSink.writer());
  p.run();
  byte[] actual = sync.get(expectedKey.toByteArray());
  assertThat(actual, equalTo(expectedValue.toByteArray()));
}