Sha256: 6e2db02f3c60c6716353aa0a3c521434a8b56ffd6e86c31a3c0999aae697bec1

Contents?: true

Size: 1.65 KB

Versions: 6

Compression:

Stored size: 1.65 KB

Contents

# frozen_string_literal: true

RSpec.describe Mutant::Result::Env do
  let(:object) do
    described_class.new(
      runtime:         instance_double(Float),
      env:             env,
      subject_results: [subject_result]
    )
  end

  let(:env) do
    instance_double(
      Mutant::Env,
      subjects:  [instance_double(Mutant::Subject)],
      mutations: [instance_double(Mutant::Mutation)]
    )
  end

  let(:subject_result) do
    instance_double(
      Mutant::Result::Subject,
      amount_mutation_results: results,
      amount_mutations_killed: killed,
      success?:                true
    )
  end

  let(:results) { 1 }
  let(:killed)  { 0 }

  describe '#success?' do
    subject { object.success? }

    context 'when coverage matches expectation' do
      let(:killed) { 1 }

      it { should be(true) }
    end

    context 'when coverage does not match expectation' do
      it { should be(false) }
    end
  end

  describe '#failed_subject_results' do
    subject { object.failed_subject_results }

    it { should eql([]) }
  end

  describe '#coverage' do
    subject { object.coverage }

    context 'when there are no results' do
      let(:results) { 0 }

      it { should eql(Rational(1)) }
    end

    context 'when there are no kills' do
      it { should eql(Rational(0)) }
    end

    context 'when there are kills' do
      let(:killed)  { 1 }
      let(:results) { 2 }

      it { should eql(Rational(1, 2)) }
    end
  end

  describe '#amount_mutations' do
    subject { object.amount_mutations }

    it { should eql(1) }
  end

  describe '#amount_subjects' do
    subject { object.amount_subjects }

    it { should eql(1) }
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mutant-0.8.22 spec/unit/mutant/result/env_spec.rb
mutant-0.8.21 spec/unit/mutant/result/env_spec.rb
mutant-0.8.20 spec/unit/mutant/result/env_spec.rb
mutant-0.8.19 spec/unit/mutant/result/env_spec.rb
mutant-0.8.18 spec/unit/mutant/result/env_spec.rb
mutant-0.8.17 spec/unit/mutant/result/env_spec.rb