Sha256: dad7d18762287773e551033fca56f3dd7f26fe2f5fd09cb4a806e9bb3c81e36d

Contents?: true

Size: 1.8 KB

Versions: 19

Compression:

Stored size: 1.8 KB

Contents

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

class TestExtractFilterTokens < Minitest::Test
  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

19 entries across 19 versions & 1 rubygems

Version Path
write_xlsx-1.09.4 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.09.3 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.09.2 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.09.1 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.09.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.08.2 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.08.1 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.08.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.07.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.04.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.02.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.01.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-1.00.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.99.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.97.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.90.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.89.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.88.0 test/worksheet/test_extract_filter_tokens.rb
write_xlsx-0.87.0 test/worksheet/test_extract_filter_tokens.rb