Sha256: 10ffb1682a9139383f6637f9dba3a5f9d42b4c90151ada3036581ba5e99f43e0
Contents?: true
Size: 1.05 KB
Versions: 24
Compression:
Stored size: 1.05 KB
Contents
# encoding: utf-8 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_nil emit(left) emit(right) mutate_operator mutate_operands 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
24 entries across 24 versions & 1 rubygems