Class MapSubject.UsingCorrespondence<A,E>

java.lang.Object
com.google.common.truth.MapSubject.UsingCorrespondence<A,E>
Enclosing class:
MapSubject

public final class MapSubject.UsingCorrespondence<A,E> extends Object
A partially specified check in which the actual values (i.e. the values of the Map under test) are compared to expected values using a Correspondence. The expected values are of type E. Call methods on this object to actually execute the check.

Note that keys will always be compared with regular object equality (Object.equals(java.lang.Object)).

  • Field Details

    • correspondence

      private final Correspondence<? super A,? super E> correspondence
  • Constructor Details

    • UsingCorrespondence

      private UsingCorrespondence(Correspondence<? super A,? super E> correspondence)
  • Method Details

    • containsEntry

      public void containsEntry(Object expectedKey, E expectedValue)
      Fails if the map does not contain an entry with the given key and a value that corresponds to the given value.
    • doesNotContainEntry

      public void doesNotContainEntry(Object excludedKey, E excludedValue)
      Fails if the map contains an entry with the given key and a value that corresponds to the given value.
    • containsExactly

      public Ordered containsExactly(Object k0, E v0, Object... rest)
      Fails if the map does not contain exactly the given set of keys mapping to values that correspond to the given values.

      The values must all be of type E, and a ClassCastException will be thrown if any other type is encountered.

      Warning: the use of varargs means that we cannot guarantee an equal number of key/value pairs at compile time. Please make sure you provide varargs in key/value pairs!

    • containsAtLeast

      public Ordered containsAtLeast(Object k0, E v0, Object... rest)
      Fails if the map does not contain at least the given set of keys mapping to values that correspond to the given values.

      The values must all be of type E, and a ClassCastException will be thrown if any other type is encountered.

      Warning: the use of varargs means that we cannot guarantee an equal number of key/value pairs at compile time. Please make sure you provide varargs in key/value pairs!

    • containsExactlyEntriesIn

      public Ordered containsExactlyEntriesIn(Map<?,? extends E> expectedMap)
      Fails if the map does not contain exactly the keys in the given map, mapping to values that correspond to the values of the given map.
    • containsAtLeastEntriesIn

      public Ordered containsAtLeastEntriesIn(Map<?,? extends E> expectedMap)
      Fails if the map does not contain at least the keys in the given map, mapping to values that correspond to the values of the given map.
    • internalContainsEntriesIn

      private <K, V extends E> Ordered internalContainsEntriesIn(String modifier, Map<K,V> expectedMap, boolean allowUnexpected)
    • valueDiffFormat

      private final <V extends E> com.google.common.base.Function<MapSubject.ValueDifference<A,V>,String> valueDiffFormat(Correspondence.ExceptionStore exceptions)
      Returns a formatting function for value differences when compared using the current correspondence.
    • getCastSubject

      private Map<?,A> getCastSubject()