class Mutiny::Mutants::Mutation::Method::UnaryArithmeticOperatorInsertion
Public Instance Methods
pattern()
click to toggle source
# File lib/mutiny/mutants/mutation/method/unary_arithmetic_operator_insertion.rb, line 8 def pattern # rubocop:disable Metrics/AbcSize builder.either!( builder.literal!(:int, builder.VAL { |val| val.name > 0 }), builder.literal!(:float, builder.VAL { |val| val.name > 0 }), builder.literal!(:send, nil, builder.VAL { |val| !keyword?(val.name) }) ) end
replacement()
click to toggle source
# File lib/mutiny/mutants/mutation/method/unary_arithmetic_operator_insertion.rb, line 16 def replacement builder.derivation! :val, :& do |val, root| if val.name.is_a?(Numeric) builder.literal!(root.name, -val.name) else builder.literal!(:send, root, :-@) end end end
Private Instance Methods
keyword?(word)
click to toggle source
# File lib/mutiny/mutants/mutation/method/unary_arithmetic_operator_insertion.rb, line 28 def keyword?(word) %i(private protected).include?(word) end