Sha256: fb4a91b4feb80970df5e87a45a4e235a05c6267e95e712240a58d49147bd90de

Contents?: true

Size: 991 Bytes

Versions: 2

Compression:

Stored size: 991 Bytes

Contents

require 'spec_helper'

describe Mutant::Mutator::Node::Literal, 'hash' do
  let(:source) { '{true => true, false => false}' }

  let(:mutations) do
    mutations = []

    # Literal replaced with nil
    mutations << 'nil'

    # Mutation of each key and value in hash
    mutations << '{ false => true  ,  false => false }'
    mutations << '{ nil   => true  ,  false => false }'
    mutations << '{ true  => false ,  false => false }'
    mutations << '{ true  => nil   ,  false => false }'
    mutations << '{ true  => true  ,  true  => false }'
    mutations << '{ true  => true  ,  nil   => false }'
    mutations << '{ true  => true  ,  false => true  }'
    mutations << '{ true  => true  ,  false => nil   }'

    # Remove each key once
    mutations << '{ true => true }' 
    mutations << '{ false => false }' 

    # Empty hash
    mutations << '{}'

    # Extra element
    mutations << '{true => true, false => false, nil => nil}'
  end

  it_should_behave_like 'a mutator'
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mutant-0.2.2 spec/unit/mutant/mutator/node/literal/hash_spec.rb
mutant-0.2.1 spec/unit/mutant/mutator/node/literal/hash_spec.rb