Class Fact

  • All Implemented Interfaces:
    java.io.Serializable

    public final class Fact
    extends java.lang.Object
    implements java.io.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:
    Serialized Form
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static Fact fact​(java.lang.String key, @Nullable java.lang.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.
      static Fact simpleFact​(java.lang.String key)
      Creates a fact with no value, which will be printed in the format "key" (with no colon or value).
      java.lang.String toString()
      Returns a simple string representation for the fact.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • fact

        public static Fact fact​(java.lang.String key,
                                @Nullable java.lang.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​(java.lang.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 java.lang.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 java.lang.Object