Package randoop.contract
Class PrimValue
java.lang.Object
randoop.contract.ObjectContract
randoop.contract.PrimValue
A check recording the value of a primitive value (or String) obtained during execution (e.g.,
var3 == 1
where var3
is an integer-valued variable in a Randoop test).-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Specifies what type of equality the contract uses. -
Field Summary
Modifier and TypeFieldDescriptionprivate final PrimValue.EqualityMode
Whether to use==
or.equals()
to test for equality.(package private) static TypeTuple
The arguments to which this contract can be applied.final Object
The expected run-time value. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
Evaluates the contract on the given values.Returns a string describing the observer.int
getArity()
The number of values that this contract is over.Returns the input types for this contract.int
hashCode()
A string that can be used as Java source code and will result in the expression being evaluated.A string that will be inserted as a comment in the test before the code corresponding to this contract.toString()
Methods inherited from class randoop.contract.ObjectContract
checkContract, failedContract, toStringHandleExceptions
-
Field Details
-
value
The expected run-time value. It is a boxed primitive or String (checked during construction). -
equalityMode
Whether to use==
or.equals()
to test for equality. -
inputTypes
The arguments to which this contract can be applied.
-
-
Constructor Details
-
PrimValue
- Parameters:
value
- the value for the expression: a primitive value or stringequalityMode
- what equality test the assertion uses
-
-
Method Details
-
equals
-
hashCode
public int hashCode() -
evaluate
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
- 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 classObjectContract
- Returns:
- the number of arguments to the contract
-
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
-
toString
-
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
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
-
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
-