class Crispr::Mutations::Numeric

def mutations_for(node)

Returns:
  • (Array) - an array of mutated nodes

Parameters:
  • node (Parser::AST::Node) -- the node to mutate
def mutations_for(node)
  return [] unless node.type == :int
  value = node.children[0]
  # Generate a set of numeric mutations
  mutations = []
  mutations << replace(node, value + 1)
  mutations << replace(node, value - 1)
  mutations << replace(node, 0) unless value.zero?
  mutations << replace(node, -value) unless value.zero?
  mutations
end