@Override
  public SchemaTransform from(GenerateSequenceConfiguration configuration) {
    return new GenerateSequenceSchemaTransform(configuration);
  }
@Test
  @Category(NeedsRunner.class)
  public void testGenerateSequence() {
    GenerateSequenceConfiguration config =
        GenerateSequenceConfiguration.builder().setStart(0L).setEnd(10L).build();
    SchemaTransform sequence = new GenerateSequenceSchemaTransformProvider().from(config);

    List<Row> expected = new ArrayList<>(10);
    for (long i = 0L; i < 10L; i++) {
      expected.add(
          Row.withSchema(GenerateSequenceSchemaTransformProvider.OUTPUT_SCHEMA)
              .withFieldValue("value", i)
              .build());
    }

    PAssert.that(
            PCollectionRowTuple.empty(p)
                .apply(sequence)
                .get(GenerateSequenceSchemaTransformProvider.OUTPUT_ROWS_TAG))
        .containsInAnyOrder(expected);
    p.run();
  }