Sha256: 096d64a38d9a7d3187a626c9cdc6addb9c0b805a731ba720c2450b41d3cbc064
Contents?: true
Size: 1.09 KB
Versions: 12
Compression:
Stored size: 1.09 KB
Contents
module Mutant class Mutator class Node # Mutation emitter to handle binary connectives class Binary < self INVERSE = { and: :or, or: :and }.freeze handle(*INVERSE.keys) children :left, :right private # Emit mutations # # @return [undefined] # # @api private # def dispatch emit_singletons emit(left) emit(right) mutate_operator mutate_operands emit_left_mutations emit_right_mutations end # Emit operator mutations # # @return [undefined] # # @api private # def mutate_operator emit(s(INVERSE.fetch(node.type), left, right)) end # Emit condition mutations # # @return [undefined] # # @api private # def mutate_operands emit(s(node.type, n_not(left), right)) emit(n_not(node)) end end # Binary end # Node end # Mutator end # Mutant
Version data entries
12 entries across 12 versions & 1 rubygems