### Question:
StringTimestampExtractionPolicy implements TimestampExtractionPolicy { @Override public void applyTo(final KsqlConfig config, final Map<String, Object> newStreamProperties) { newStreamProperties.put( KsqlConfig.KSQL_TIMESTAMP_COLUMN_INDEX, config.get(KsqlConfig.KSQL_TIMESTAMP_COLUMN_INDEX) ); newStreamProperties.put( StreamsConfig.DEFAULT_TIMESTAMP_EXTRACTOR_CLASS_CONFIG, StringTimestampExtractor.class ); newStreamProperties.put(KsqlConfig.STRING_TIMESTAMP_FORMAT, format); } @JsonCreator  StringTimestampExtractionPolicy(
      @JsonProperty("timestampField") final String timestampField,
      @JsonProperty("format") final String format); @Override void applyTo(final KsqlConfig config,
                      final Map<String, Object> newStreamProperties); @Override String timestampField();  }### Answer:
@Test public void shouldSetTimestampColumnIndexFromConfig() { policy.applyTo(config, properties); assertThat(properties.get(KsqlConfig.KSQL_TIMESTAMP_COLUMN_INDEX), equalTo(1)); }
@Test public void shouldSetTimestampExtractorToStringTimestampExtractor() { policy.applyTo(config, properties); assertThat(properties.get(StreamsConfig.DEFAULT_TIMESTAMP_EXTRACTOR_CLASS_CONFIG), equalTo(StringTimestampExtractor.class)); }
@Test public void shouldSetFormatInProperties() { policy.applyTo(config, properties); assertThat(properties.get(KsqlConfig.STRING_TIMESTAMP_FORMAT), equalTo(format)); }