public static Builder builder() {
    return new Builder();
  }
@TestTemplate
  public void replacePartitionsWithDuplicates() {
    assertThat(listManifestFiles()).isEmpty();

    table
        .newReplacePartitions()
        .addFile(FILE_A)
        .addFile(DataFiles.builder(SPEC).copy(FILE_A).build())
        .addFile(FILE_A)
        .commit();

    assertThat(table.currentSnapshot().summary())
        .hasSize(12)
        .containsEntry(SnapshotSummary.ADDED_FILES_PROP, "1")
        .containsEntry(SnapshotSummary.ADDED_FILE_SIZE_PROP, "10")
        .containsEntry(SnapshotSummary.ADDED_RECORDS_PROP, "1")
        .containsEntry(SnapshotSummary.CHANGED_PARTITION_COUNT_PROP, "1")
        .containsEntry(SnapshotSummary.REPLACE_PARTITIONS_PROP, "true")
        .containsEntry(SnapshotSummary.TOTAL_DATA_FILES_PROP, "1")
        .containsEntry(SnapshotSummary.TOTAL_DELETE_FILES_PROP, "0")
        .containsEntry(SnapshotSummary.TOTAL_EQ_DELETES_PROP, "0")
        .containsEntry(SnapshotSummary.TOTAL_POS_DELETES_PROP, "0")
        .containsEntry(SnapshotSummary.TOTAL_FILE_SIZE_PROP, "10")
        .containsEntry(SnapshotSummary.TOTAL_RECORDS_PROP, "1");
  }