Class Fact

java.lang.Object
com.google.common.truth.Fact
All Implemented Interfaces:
Serializable

public final class Fact extends Object implements Serializable
A string key-value pair in a failure message, such as "expected: abc" or "but was: xyz."

Most Truth users will never interact with this type. It appears in the Truth API only as a parameter to methods like Subject.failWithActual(Fact, Fact...), which are used only by custom Subject implementations.

If you are writing a custom Subject, see our tips on writing failure messages.

See Also:
  • Method Details

    • fact

      public static Fact fact(String key, @Nullable Object value)
      Creates a fact with the given key and value, which will be printed in a format like "key: value." The value is converted to a string by calling String.valueOf on it.
    • simpleFact

      public static Fact simpleFact(String key)
      Creates a fact with no value, which will be printed in the format "key" (with no colon or value).

      In most cases, prefer key-value facts, which give Truth more flexibility in how to format the fact for display. simpleFact is useful primarily for:

      • messages from no-arg assertions. For example, isNotEmpty() would generate the fact "expected not to be empty"
      • prose that is part of a larger message. For example, contains() sometimes displays facts like "expected to contain: ..." "but did not" "though it did contain: ..."
    • toString

      public String toString()
      Returns a simple string representation for the fact. While this is used in the output of TruthFailureSubject, it's not used in normal failure messages, which automatically align facts horizontally and indent multiline values.
      Overrides:
      toString in class Object