Sha256: e5d79e5d5eafefa9f27d1bf38d99716e7c29fa8c533ca1d0842d6e9be20db076

Contents?: true

Size: 721 Bytes

Versions: 3

Compression:

Stored size: 721 Bytes

Contents

module Mutant
  class Mutator
    class Node
      class Literal < self
        # Mutator for fixnum literals
        class Fixnum < self

          handle(:int)

        private

          # Emit mutations
          #
          # @return [undefined]
          def dispatch
            emit_singletons
            emit_values
          end

          # Values to mutate to
          #
          # @return [Array]
          def values
            [0, 1, -value, value + 1, value - 1]
          end

          # Literal original value
          #
          # @return [Object]
          def value
            children.first
          end

        end # Fixnum
      end # Literal
    end # Node
  end # Mutator
end # Mutant

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mutant-0.8.13 lib/mutant/mutator/node/literal/fixnum.rb
mutant-0.8.12 lib/mutant/mutator/node/literal/fixnum.rb
mutant-0.8.11 lib/mutant/mutator/node/literal/fixnum.rb