Sha256: 88de717bd769c1b060f6a304649e21c493b280f739f75d98ca4d54b336245f32

Contents?: true

Size: 902 Bytes

Versions: 3

Compression:

Stored size: 902 Bytes

Contents

require './spec/spec_helper'

describe TokenParser do
  let(:parser) { TokenParser.new }

  def returns(string, tokens)
    expect(parser.parse(string)).to eq tokens
  end

  it 'empty input' do
    returns '', []
  end

  it 'single token' do
    returns 'attribute', %w(attribute)
  end

  it 'simple assertions' do
    returns 'weight > 0', %w(weight > 0)
  end

  it 'simple OR operator' do
    returns '    true     || false', %w(true || false)
  end

  it 'simple AND operator' do
    returns 'true && false', %w(true && false)
  end

  it 'complex case' do
    returns 'material = dřevo && (cena > 180 || cena >= 250)', %w(material = dřevo && ( cena > 180 || cena >= 250 ))
    returns '(material   != ocel ||     cena    =       30 &&     (  šlahounů >=   2 &&    šlahounů <=   5   ) ',
            %w{( material != ocel || cena = 30 && ( šlahounů >= 2 && šlahounů <= 5 )}
  end


end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lamep-0.2.1 spec/lib/token_parser_spec.rb
lamep-0.2 spec/lib/token_parser_spec.rb
lamep-0.1 spec/lib/token_parser_spec.rb