Sha256: 6675668c31aa0b6bef23c2f2f38548f01445e32b29cc4b432bd91f55ebf510fa

Contents?: true

Size: 1.81 KB

Versions: 52

Compression:

Stored size: 1.81 KB

Contents

# -*- coding: utf-8 -*-
require 'helper'
require 'write_xlsx'
require 'stringio'

class TestExtractFilterTokens < Test::Unit::TestCase
  def setup
    @workbook = WriteXLSX.new(StringIO.new)
    @worksheet = @workbook.add_worksheet('')
  end

  def test_extract_filter_tokens
    [
      [
          nil,
          [],
      ],

      [
          '',
          [],
      ],

      [
          '0 <  2000',
          [0, '<', 2000],
      ],

      [
          'x <  2000',
          ['x', '<', 2000],
      ],

      [
          'x >  2000',
          ['x', '>', 2000],
      ],

      [
          'x == 2000',
          ['x', '==', 2000],
      ],

      [
          'x >  2000 and x <  5000',
          ['x', '>',  2000, 'and', 'x', '<', 5000],
      ],

      [
          'x = "foo"',
          ['x', '=', 'foo'],
      ],

      [
          'x = foo',
          ['x', '=', 'foo'],
      ],

      [
          'x = "foo bar"',
          ['x', '=', 'foo bar'],
      ],

      [
          'x = "foo "" bar"',
          ['x', '=', 'foo " bar'],
      ],

      [
          'x = "foo bar" or x = "bar foo"',
          ['x', '=', 'foo bar', 'or', 'x', '=', 'bar foo'],
      ],

      [
          'x = "foo "" bar" or x = "bar "" foo"',
          ['x', '=', 'foo " bar', 'or', 'x', '=', 'bar " foo'],
      ],

      [
          'x = """"""""',
          ['x', '=', '"""'],
      ],

      [
          'x = Blanks',
          ['x', '=', 'Blanks'],
      ],

      [
          'x = NonBlanks',
          ['x', '=', 'NonBlanks'],
      ],

      [
          'top 10 %',
          ['top', 10, '%'],
      ],

      [
          'top 10 items',
          ['top', 10, 'items'],
      ]
    ].each do |test|
      expected = test[1]
      result = @worksheet.__send__('extract_filter_tokens', test[0])
      assert_equal(expected, result)
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
write_xlsx-0.77.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.76.3 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.76.2 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.76.1 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.76.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.75.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.74.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.73.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.72.3.beta1 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.72.2 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.72.1 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.72.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.71.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.70.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.69.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.65.1 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.65.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.64.1 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.64.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.62.0 test/worksheet/test_extract_filter_tokens.rb