Sha256: e571f9996f465059bbb1cfe06674a43d39c5760bc78ff1a31f191a7d846c4e36
Contents?: true
Size: 942 Bytes
Versions: 79
Compression:
Stored size: 942 Bytes
Contents
# frozen_string_literal: true module Mutant class Mutator class Node # Mutator for case nodes class Case < self handle(:case) children :condition private def dispatch emit_singletons emit_condition_mutations if condition emit_when_mutations emit_else_mutations end def emit_when_mutations indices = children.each_index.drop(1).take(children.length - 2) one = indices.one? indices.each do |index| mutate_child(index) delete_child(index) unless one end end def emit_else_mutations else_branch = children.last else_index = children.length - 1 return unless else_branch mutate_child(else_index) emit_child_update(else_index, nil) end end # Case end # Node end # Mutator end # Mutant
Version data entries
79 entries across 79 versions & 1 rubygems