Synthia
Generic and flexible data structure generator
ca.uqac.lif.synthia.util.Constant< T > Class Template Reference

Detailed Description

Picker that returns the same object every time.

For example, the following code snippet will create an object that will return the string "foo" every time its pick() method is called:

Constant<String> c = new Constant<String>("foo");
String s1 = c.pick(); // "foo"
String s2 = c.pick(); // "foo"
...

Definition at line 37 of file Constant.java.

Inheritance diagram for ca.uqac.lif.synthia.util.Constant< T >:

Public Member Functions

 Constant (T value)
 Creates a new constant. More...
 
pick ()
 Picks the constant value. More...
 
void reset ()
 Puts the constant back into its initial state. More...
 
Constant< T > duplicate (boolean with_state)
 Creates a copy of the constant picker. More...
 
String toString ()
 Returns the constant value into a string. More...
 
Shrinkable< T > shrink (T o, Picker< Float > decision, float m)
 Shrinks a picker. More...
 
Shrinkable< T > shrink (T o)
 Shrinks a picker with default parameters. More...
 

Protected Attributes

m_value
 The value to return. More...
 

Constructor & Destructor Documentation

◆ Constant()

Creates a new constant.

Parameters
valueThe value to be returned on every call to pick()

Definition at line 48 of file Constant.java.

Member Function Documentation

◆ duplicate()

Constant<T> ca.uqac.lif.synthia.util.Constant< T >.duplicate ( boolean  with_state)

Creates a copy of the constant picker.

Parameters
with_stateIf set to false, the returned copy is set to the class' initial state (i.e. same thing as calling the picker's constructor). If set to true, the returned copy is put into the same internal state as the object it is copied from.
Returns
The copy of the constant picker

Implements ca.uqac.lif.synthia.Picker< T >.

Definition at line 87 of file Constant.java.

◆ pick()

Picks the constant value.

Returns
The constant value.

Implements ca.uqac.lif.synthia.Picker< T >.

Definition at line 59 of file Constant.java.

◆ reset()

void ca.uqac.lif.synthia.util.Constant< T >.reset ( )

Puts the constant back into its initial state.

This means that the sequence of calls to pick() will produce the same values as when the object was instantiated.

Implements ca.uqac.lif.synthia.Picker< T >.

Definition at line 71 of file Constant.java.

◆ shrink() [1/2]

Shrinks a picker with default parameters.

For any picker p that implements the Shrinkable interface, a call to p.shrink(o) should be the same as a call to p.shrink(o, RandomFloat.instance, 1).

Parameters
oThe reference object. The picker must guarantee that the returned picker instance only produces objects that are smaller than o, according to an implicit ordering relation that is specific to each object type and each picker.
Returns
The returned picker instance. This object may be of a different class from the object on which the method is called.
See also
#shrink(Object, Picker, float)

Implements ca.uqac.lif.synthia.Shrinkable< T >.

Definition at line 110 of file Constant.java.

◆ shrink() [2/2]

Shrinkable<T> ca.uqac.lif.synthia.util.Constant< T >.shrink ( o,
Picker< Float >  d,
float  m 
)

Shrinks a picker.

The method adds two arguments with respect to shrink(Object): a source of randomness and a magnitude parameter. A picker may use the magnitude to determine how "aggressive" is the shrinking process. A value of 1 is expected to produce a picker with the broadest set, and may return all possible objects that are smaller than the reference. Lower values (all the way down to 0) instruct the picker to exclude further objects, and typically to only produce objects that are relatively "much smaller" than the reference.

Parameters
oThe reference object. The picker must guarantee that the returned picker instance only produces objects that are smaller than o, according to an implicit ordering relation that is specific to each object type and each picker.
dA source of randomness. Some pickers must make choices when producing shrunk objects, and this parameter is used as an external source for these choices.
mA magnitude parameter, which must be between 0 and 1.
Returns
The returned picker instance. This object may be of a different class from the object on which the method is called.

Implements ca.uqac.lif.synthia.Shrinkable< T >.

Definition at line 104 of file Constant.java.

◆ toString()

String ca.uqac.lif.synthia.util.Constant< T >.toString ( )

Returns the constant value into a string.

Returns
The string who contains the constant value.

Definition at line 98 of file Constant.java.

Member Data Documentation

◆ m_value

T ca.uqac.lif.synthia.util.Constant< T >.m_value
protected

The value to return.

Definition at line 42 of file Constant.java.


The documentation for this class was generated from the following file: