Sha256: 5a6615d99978bbe02067a12a1033c7dd94fe90228cc89ce229c987d351efd431

Contents?: true

Size: 1.51 KB

Versions: 24

Compression:

Stored size: 1.51 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe Mutant::Mutator::Node::Literal, 'range' do

  before :each do
    Mutant::Random.stub(fixnum: random_fixnum)
  end

  let(:random_fixnum) { 5 }

  context 'inclusive range literal' do
    let(:source) { '1..100' }

    let(:mutations) do
      mutations = []
      mutations << 'nil'
      mutations << '1...100'
      mutations << '(0.0 / 0.0)..100'
      mutations << '1..(1.0 / 0.0)'
      mutations << '1..(0.0 / 0.0)'
      mutations << '-1..100'
      mutations << '5..100'
      mutations << '0..100'
      mutations << '2..100'
      mutations << 'nil..100'
      mutations << '1..nil'
      mutations << '1..0'
      mutations << '1..1'
      mutations << '1..99'
      mutations << '1..101'
      mutations << '1..-100'
      mutations << '1..5'
    end

    it_should_behave_like 'a mutator'
  end

  context 'exclusive range literal' do
    let(:source) { '1...100' }

    let(:mutations) do
      mutations = []
      mutations << 'nil'
      mutations << '1..100'
      mutations << '(0.0 / 0.0)...100'
      mutations << '1...(1.0 / 0.0)'
      mutations << '1...(0.0 / 0.0)'
      mutations << '-1...100'
      mutations << '5...100'
      mutations << '0...100'
      mutations << '2...100'
      mutations << 'nil...100'
      mutations << '1...nil'
      mutations << '1...0'
      mutations << '1...1'
      mutations << '1...99'
      mutations << '1...101'
      mutations << '1...-100'
      mutations << '1...5'
    end

    it_should_behave_like 'a mutator'
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
mutant-0.5.12 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.11 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.10 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.9 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.8 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.7 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.6 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.5 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.4 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.3 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.2 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.1 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.5.0 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.3.6 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.3.5 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.3.4 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.3.3 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.3.2 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.3.1 spec/unit/mutant/mutator/node/literal/range_spec.rb
mutant-0.3.0 spec/unit/mutant/mutator/node/literal/range_spec.rb