Class ObserverEqValue

java.lang.Object
randoop.contract.ObjectContract
randoop.contract.ObserverEqValue

public final class ObserverEqValue extends ObjectContract
A check recording the value that an observer method returned during execution, e.g. a check recording that a collection's size() method returned 3.

ObserverEqValue checks are not checks that must hold of all objects of a given class (unlike a check like EqualsReflexive, which must hold for any objects, no matter its execution context).

  • Field Details

    • observer

      public TypedOperation observer
      The observer method.
    • value

      public Object value
      The run-time result of calling the observer: a primitive value or String.
    • inputTypes

      static TypeTuple inputTypes
      The arguments to which this contract can be applied.
  • Constructor Details

    • ObserverEqValue

      public ObserverEqValue(TypedOperation observer, Object value)
      Create a new ObserverEqValue.
      Parameters:
      observer - the observer method
      value - the run-time result of calling the observer: a primitive value or String
  • Method Details

    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isLiteralValue

      public static boolean isLiteralValue(Object value)
      Returns true if the argument can be written as a literal in Java source code.
      Parameters:
      value - the value to be tested
      Returns:
      true if the argument can be written as a literal in Java source code
    • toCodeString

      public String toCodeString()
      Description copied from class: ObjectContract
      A string that can be used as Java source code and will result in the expression being evaluated.

      The N-th object that participates in the contract check should be referred to as "xN" (for N one of 0, ... , 9). For example, if the expression of arity 2 represents a call of the equals method between two objects, the code should be something like assert x0.equals(x1);".

      The string does not contain a trailing newline. When there is a leading comment, it should start with a newline.

      Specified by:
      toCodeString in class ObjectContract
      Returns:
      the code string representation of this contract; must be non-null
    • evaluate

      public boolean evaluate(Object... objects) throws Throwable
      Description copied from class: ObjectContract
      Evaluates the contract on the given values. Returns false if the contract was violated. Returns true if the contract was satisfied or was not applicable.

      When calling this method during execution of a test, Randoop guarantees that objects does not contain any null objects, and that objects.length == getArity().

      Specified by:
      evaluate in class ObjectContract
      Parameters:
      objects - the actual parameters to this contract
      Returns:
      false if the contract is violated, true otherwise
      Throws:
      Throwable - if an exception is thrown in evaluation
    • getArity

      public int getArity()
      Description copied from class: ObjectContract
      The number of values that this contract is over.
      Specified by:
      getArity in class ObjectContract
      Returns:
      the number of arguments to the contract
    • getInputTypes

      public TypeTuple getInputTypes()
      Description copied from class: ObjectContract
      Returns the input types for this contract.
      Specified by:
      getInputTypes in class ObjectContract
      Returns:
      the input types for this contract
    • toCommentString

      public String toCommentString()
      Description copied from class: ObjectContract
      A string that will be inserted as a comment in the test before the code corresponding to this contract. Occurrences of variables x0, x1, x2, etc. in the string will be replaced by actual values.
      Specified by:
      toCommentString in class ObjectContract
      Returns:
      the comment string representation of this contract
    • get_observer_str

      public String get_observer_str()
      Description copied from class: ObjectContract
      Returns a string describing the observer.
      Specified by:
      get_observer_str in class ObjectContract
      Returns:
      a string description of the contract
    • toString

      public String toString()
      Overrides:
      toString in class Object