# -*- coding: utf-8 -*-
require 'helper'
require 'write_xlsx'
require 'stringio'
class TestWriteConditionalFormatting < Test::Unit::TestCase
def setup
@workbook = WriteXLSX.new(StringIO.new)
@worksheet = @workbook.add_worksheet('')
end
def test_conditional_formatting_01
format = Writexlsx::Format.new({}, {})
@worksheet.conditional_formatting('A1',
:type => 'cell',
:format => format,
:criteria => 'greater than',
:value => 5
)
@worksheet.__send__('write_conditional_formats')
result = @worksheet.instance_variable_get(:@writer).string
expected = '5'
assert_equal(expected, result)
end
def test_conditional_formatting_02
format = Writexlsx::Format.new({}, {})
@worksheet.conditional_formatting('A2',
:type => 'cell',
:format => format,
:criteria => 'less than',
:value => 30
)
@worksheet.__send__('write_conditional_formats')
result = @worksheet.instance_variable_get(:@writer).string
expected = '30'
assert_equal(expected, result)
end
def test_conditional_formatting_03
format = Writexlsx::Format.new({}, {})
@worksheet.conditional_formatting('A3',
:type => 'cell',
:format => nil,
:criteria => '>=',
:value => 50
)
@worksheet.__send__('write_conditional_formats')
result = @worksheet.instance_variable_get(:@writer).string
expected = '50'
assert_equal(expected, result)
end
def test_conditional_formatting_04
format = Writexlsx::Format.new({}, {})
@worksheet.conditional_formatting('A1',
:type => 'cell',
:format => format,
:criteria => 'between',
:minimum => 10,
:maximum => 20
)
@worksheet.__send__('write_conditional_formats')
result = @worksheet.instance_variable_get(:@writer).string
expected = '1020'
assert_equal(expected, result)
end
end