@Test
void testDeduplication() {

  // GIVEN
  ColumnIdentifier a1 = new ColumnIdentifier("R", "A1");
  ColumnIdentifier a2 = new ColumnIdentifier("R", "A2");
  ColumnIdentifier a3 = new ColumnIdentifier("R", "A3");
  ColumnIdentifier b1 = new ColumnIdentifier("S", "B1");
  ColumnIdentifier b3 = new ColumnIdentifier("S", "B3");
  InclusionDependency ind = new InclusionDependency(
      new ColumnPermutation(a1, a2, a3),
      new ColumnPermutation(b1, b1, b3));
  Set<InclusionDependency> expectedInds = ImmutableSet.of(
      new InclusionDependency(new ColumnPermutation(a1, a3), new ColumnPermutation(b1, b3)),
      new InclusionDependency(new ColumnPermutation(a2, a3), new ColumnPermutation(b1, b3)));
  // WHEN
  Set<InclusionDependency> dedupedInds = IndDeduplicator.deduplicateColumnIdentifier(ind);
  // THEN
  assertThat(dedupedInds).isEqualTo(expectedInds);
}