Class Condition<T>

  • Type Parameters:
    T - the type of object this condition accepts.
    All Implemented Interfaces:
    Descriptable<Condition<T>>
    Direct Known Subclasses:
    Join, Negative

    public abstract class Condition<T>
    extends java.lang.Object
    implements Descriptable<Condition<T>>
    A condition to be met by an object.
    Author:
    Yvonne Wang, Alex Ruiz
    • Constructor Detail

      • Condition

        public Condition()
        Creates a new Condition. The default description of this condition will the simple name of the condition's class.
      • Condition

        public Condition​(java.lang.String description)
        Creates a new Condition.
        Parameters:
        description - the description of this condition.
        Throws:
        java.lang.NullPointerException - if the given description is null.
      • Condition

        public Condition​(Description description)
        Creates a new Condition.
        Parameters:
        description - the description of this condition.
        Throws:
        java.lang.NullPointerException - if the given description is null.
    • Method Detail

      • describedAs

        public Condition<T> describedAs​(Description newDescription)
        Alias for Descriptable.as(String) since "as" is a keyword in Groovy. To remove or clear the description, pass a EmptyTextDescription as argument.

        This overloaded version of "describedAs" offers more flexibility than the one taking a String by allowing users to pass their own implementation of a description. For example, a description that creates its value lazily, only when an assertion failure occurs.

        Specified by:
        describedAs in interface Descriptable<T>
        Parameters:
        newDescription - the new description to set.
        Returns:
        this object.
      • as

        public Condition<T> as​(Description newDescription)
        Sets the description of this object. To remove or clear the description, pass a EmptyTextDescription as argument.

        This overloaded version of "describedAs" offers more flexibility than the one taking a String by allowing users to pass their own implementation of a description. For example, a description that creates its value lazily, only when an assertion failure occurs.

        Specified by:
        as in interface Descriptable<T>
        Parameters:
        newDescription - the new description to set.
        Returns:
        this object.
        See Also:
        Descriptable.describedAs(Description)
      • description

        public Description description()
        Returns the description of this condition.
        Returns:
        the description of this condition.
      • matches

        public abstract boolean matches​(T value)
        Verifies that the given value satisfies this condition.
        Parameters:
        value - the value to verify.
        Returns:
        true if the given value satisfies this condition; false otherwise.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object