Peach::MutateStrategies::ppstrategies::RandomMutationStrategy Class Reference

RandomMutationStrategy(MutationStrategy). More...

Inheritance diagram for Peach::MutateStrategies::ppstrategies::RandomMutationStrategy:

Peach::MutateStrategies::ppstrategies::DoubleRandomMutationStrategy Peach::MutateStrategies::ppstrategies::SingleRandomMutationStrategy

List of all members.

Public Member Functions

def __init__
 Constructor of the strategy.
def next
 Switch to next state.
def getCount
 Get number of states.
def currentMutator
 Get current mutator.
def onTestCaseStarting
 On TestCase Starting.
def onTestCaseFinished
 On TestCase Starting.
def onDataModelGetValue
 Alter data in the data model.

Public Attributes

 isFinite
 This strategy ends only on clients request.

Private Member Functions

def _getNodeCount
 Get number of node children.

Private Attributes

 _n
 Default number of elements to fuzz is 5.
 _dataModels
 Data models for this strategy.
 _fieldMutators
 Mutators for this strategy.
 _isFirstTestCase
 First iteration (test case) is usually somehow special.
 _dataModelToChange
 Data model selected for change.
 _random
 Random number generator for our instance of strategy.
 _mutator
 Assing fake mutator.


Detailed Description

RandomMutationStrategy(MutationStrategy).

HotFuzz random mutation strategy. This mutation strategy will randomly select 5 elements from a data model to fuzz


Member Function Documentation

def Peach::MutateStrategies::ppstrategies::RandomMutationStrategy::__init__ (   self,
  args 
)

Constructor of the strategy.

Does basic initialization

Parameters:
args Constructor arguments. No special arguments are required by this strategy

Reimplemented in Peach::MutateStrategies::ppstrategies::SingleRandomMutationStrategy, and Peach::MutateStrategies::ppstrategies::DoubleRandomMutationStrategy.

def Peach::MutateStrategies::ppstrategies::RandomMutationStrategy::_getNodeCount (   self,
  node 
) [private]

Get number of node children.

Return the number of DataElements that are children of node

def Peach::MutateStrategies::ppstrategies::RandomMutationStrategy::currentMutator (   self  ) 

Get current mutator.

Gets current mutator

def Peach::MutateStrategies::ppstrategies::RandomMutationStrategy::getCount (   self  ) 

Get number of states.

Get number of strategy states. Relevant especially for sequential based strategies.

def Peach::MutateStrategies::ppstrategies::RandomMutationStrategy::next (   self  ) 

Switch to next state.

Switches strategy to next state. Relevant especially for sequential based strategies

def Peach::MutateStrategies::ppstrategies::RandomMutationStrategy::onDataModelGetValue (   self,
  action,
  dataModel 
)

Alter data in the data model.

Called for fuzzing data in the data model

Parameters:
action Action we are starting
dataModel DataModel we are using

def Peach::MutateStrategies::ppstrategies::RandomMutationStrategy::onTestCaseFinished (   self,
  test,
  count,
  stateEngine 
)

On TestCase Starting.

Called right at the end of iteration (test case)

Parameters:
test Current test being run
count Current test number
stateEngine StateEngine instance in use

def Peach::MutateStrategies::ppstrategies::RandomMutationStrategy::onTestCaseStarting (   self,
  test,
  count,
  stateEngine 
)

On TestCase Starting.

Called right before start of iteration (test case)

Parameters:
test Current test being run
count Current test number
stateEngine StateEngine instance in use


Member Data Documentation

Data models for this strategy.

Data model selected for change.

Mutators for this strategy.

First iteration (test case) is usually somehow special.

Important only after first iteration (test case).

Assing fake mutator.

Random number generator for our instance of strategy.

This strategy ends only on clients request.


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

Generated on Sat Sep 4 18:13:54 2010 for HotFuzz by  doxygen 1.5.8