Class: Mutiny::Mutants::Mutation::Method::UnaryArithmeticOperatorInsertion
- Inherits:
-
Mutiny::Mutants::Mutation
- Object
- Mutiny::Mutants::Mutation
- Mutiny::Mutants::Mutation::Method::UnaryArithmeticOperatorInsertion
- Defined in:
- lib/mutiny/mutants/mutation/method/unary_arithmetic_operator_insertion.rb
Instance Method Summary collapse
-
#pattern ⇒ Object
rubocop:disable Metrics/AbcSize.
- #replacement ⇒ Object
Methods inherited from Mutiny::Mutants::Mutation
Instance Method Details
#pattern ⇒ Object
rubocop:disable Metrics/AbcSize
8 9 10 11 12 13 14 |
# 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 ⇒ Object
16 17 18 19 20 21 22 23 24 |
# 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 |