Package randoop.contract
Class HashCodeReturnsNormally
- java.lang.Object
-
- randoop.contract.ObjectContract
-
- randoop.contract.HashCodeReturnsNormally
-
public final class HashCodeReturnsNormally extends ObjectContract
Checks that calling hashCode() on an object does not throw an exception.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static TypeTuple
inputTypes
The arguments to which this contract can be applied.private static HashCodeReturnsNormally
instance
-
Constructor Summary
Constructors Modifier Constructor Description private
HashCodeReturnsNormally()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
evaluate(Object... objects)
Evaluates the contract on the given values.String
get_observer_str()
Returns a string describing the observer.int
getArity()
The number of values that this contract is over.TypeTuple
getInputTypes()
Returns the input types for this contract.static HashCodeReturnsNormally
getInstance()
String
toCodeString()
A string that can be used as Java source code and will result in the expression being evaluated.String
toCommentString()
A string that will be inserted as a comment in the test before the code corresponding to this contract.-
Methods inherited from class randoop.contract.ObjectContract
checkContract, failedContract, toStringHandleExceptions
-
-
-
-
Field Detail
-
instance
private static final HashCodeReturnsNormally instance
-
inputTypes
static TypeTuple inputTypes
The arguments to which this contract can be applied.
-
-
Method Detail
-
getInstance
public static HashCodeReturnsNormally getInstance()
-
evaluate
public boolean evaluate(Object... objects)
Description copied from class:ObjectContract
Evaluates the contract on the given values. Returnsfalse
if the contract was violated. Returnstrue
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 anynull
objects, and thatobjects.length == getArity()
.- Specified by:
evaluate
in classObjectContract
- Parameters:
objects
- the actual parameters to this contract- Returns:
- false if the contract is violated, true otherwise
-
getArity
public int getArity()
Description copied from class:ObjectContract
The number of values that this contract is over.- Specified by:
getArity
in classObjectContract
- 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 classObjectContract
- 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 classObjectContract
- 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 classObjectContract
- Returns:
- a string description of the contract
-
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 classObjectContract
- Returns:
- the code string representation of this contract; must be non-null
-
-