Sha256: 6daf87ad2f84a6ae0b4e3c94ad295d6c74037498b7d87411200e2d021dc25c30

Contents?: true

Size: 854 Bytes

Versions: 5

Compression:

Stored size: 854 Bytes

Contents

require 'test_helpers'

Path.dir.glob('*').select{|f| f.directory? }.each do |folder|
  optimizer = Alf::Optimizer.const_get(folder.basename.to_s.capitalize)

  describe optimizer do

    folder.glob('*.yml').each do |file|
      context "On #{file.basename}" do

        file.load.each do |query|
          alf, optimized = query['alf'], query['optimized']

          context "on #{alf}" do
            let(:expr)    { conn.parse(alf)       }
            let(:expected){ conn.parse(optimized) }

            subject{ optimizer.new.call(expr) }

            it 'should be optimized as expected' do
              subject.should eq(expected)
            end

            it 'should have same heading as the initial expression' do
              subject.heading.should eq(expr.heading)
            end
          end
        end

      end
    end
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
alf-0.16.3 spec/optimizer/test_all.rb
alf-0.16.2 spec/optimizer/test_all.rb
alf-0.16.1 spec/optimizer/test_all.rb
alf-0.16.0 spec/optimizer/test_all.rb
alf-0.15.0 spec/optimizer/test_all.rb