public final void containsNoDuplicates() {
    List<Multiset.Entry<?>> duplicates = newArrayList();
    for (Multiset.Entry<?> entry : LinkedHashMultiset.create(checkNotNull(actual)).entrySet()) {
      if (entry.getCount() > 1) {
        duplicates.add(entry);
      }
    }
    if (!duplicates.isEmpty()) {
      failWithoutActual(
          simpleFact("expected not to contain duplicates"),
          fact("but contained", duplicates),
          fullContents());
    }
  }
@Test
  public void doesNotContainDuplicatesFailure() {
    expectFailureWhenTestingThat(asList(1, 2, 2, 3)).containsNoDuplicates();
    assertFailureKeys("expected not to contain duplicates", "but contained", "full contents");
    assertFailureValue("but contained", "[2 x 2]");
    assertFailureValue("full contents", "[1, 2, 2, 3]");
  }