# -*- coding: utf-8 -*-
require 'helper'
require 'write_xlsx'
require 'stringio'
class TestWriteDimension < Minitest::Test
def setup
@workbook = WriteXLSX.new(StringIO.new)
@worksheet = @workbook.add_worksheet('')
end
def test_write_dimension_with_no_dimension_set
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = ''
assert_equal(expected, result)
end
def test_write_dimension_with_dimension_set
cell = 'A1'
@worksheet.write(cell, 'some string')
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = %Q!!
assert_equal(expected, result)
end
def test_write_dimension_with_dimension_set_big_row
cell = 'A1048576'
@worksheet.write(cell, 'some string')
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = %Q!!
assert_equal(expected, result)
end
def test_write_dimension_with_dimension_set_big_column
cell = 'XFD1'
@worksheet.write(cell, 'some string')
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = %Q!!
assert_equal(expected, result)
end
def test_write_dimension_with_dimension_set_big_row_and_column
cell = 'XFD1048576'
@worksheet.write(cell, 'some string')
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = %Q!!
assert_equal(expected, result)
end
def test_write_dimension_with_dimension_set_narrow_range
cell = 'A1:B2'
@worksheet.write('A1', 'some string')
@worksheet.write('B2', 'some string')
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = %Q!!
assert_equal(expected, result)
end
def test_write_dimension_with_dimension_set_narrow_range_2
cell = 'A1:B2'
@worksheet.write('B2', 'some string')
@worksheet.write('A1', 'some string')
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = %Q!!
assert_equal(expected, result)
end
def test_write_dimension_with_dimension_set_wide_range
cell = 'B2:H11'
@worksheet.write('B2', 'some string')
@worksheet.write('H11', 'some string')
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = %Q!!
assert_equal(expected, result)
end
def test_write_dimension_with_dimension_set_very_wide_range
cell = 'A1:XFD1048576'
@worksheet.write('A1', 'some string')
@worksheet.write('XFD1048576', 'some string')
@worksheet.__send__('write_dimension')
result = @worksheet.instance_variable_get(:@writer).string
expected = %Q!!
assert_equal(expected, result)
end
end