Sha256: 69e3b4be655a2f9dcd94d97a81ec8dcf12ac60d540e94871abd243808c1de4e8

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

Mutant::Meta::Example::ALL.each.group_by(&:node_type).each do |type, examples|
  RSpec.describe Mutant::Mutator::REGISTRY.lookup(type) do
    toplevel_nodes = examples.map { |example| example.node.type }.uniq

    it "generates the correct mutations on #{toplevel_nodes} toplevel examples" do
      examples.each do |example|
        verification = example.verification
        unless verification.success?
          fail verification.error_report
        end
      end
    end
  end
end

RSpec.describe Mutant::Mutator::Node do
  describe 'internal DSL' do
    let(:klass) do
      Class.new(described_class) do
        children(:left, :right)

        def dispatch
          left
          emit_left(s(:nil))
          emit_right_mutations do |node|
            node.eql?(s(:nil))
          end
        end
      end
    end

    def apply
      klass.call(s(:and, s(:true), s(:true)))
    end

    specify do
      expect(apply).to eql(
        [
          s(:and, s(:nil), s(:true)),
          s(:and, s(:true), s(:nil))
        ].to_set
      )
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mutant-0.8.16 spec/unit/mutant/mutator/node_spec.rb
mutant-0.8.15 spec/unit/mutant/mutator/node_spec.rb
mutant-0.8.14 spec/unit/mutant/mutator/node_spec.rb
mutant-0.8.13 spec/unit/mutant/mutator/node_spec.rb
mutant-0.8.12 spec/unit/mutant/mutator/node_spec.rb
mutant-0.8.11 spec/unit/mutant/mutator/node_spec.rb