1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
#!/usr/bin/env ruby
# Excel::Writer::TestWorksheet -- Spreadheet -- 21.11.2007 -- hwyss@ywesee.com
require "test/unit"
require "spreadsheet/excel/writer/worksheet"
module Spreadsheet
module Excel
module Writer
class TestWorksheet < Test::Unit::TestCase
def test_need_number
sheet = Worksheet.new nil, nil
assert_equal false, sheet.need_number?(10)
assert_equal false, sheet.need_number?(114.55)
assert_equal false, sheet.need_number?(0.1)
assert_equal false, sheet.need_number?(0.01)
assert_equal false, sheet.need_number?(0 / 0.0) # NaN
assert_equal true, sheet.need_number?(0.001)
assert_equal true, sheet.need_number?(10000000.0)
end
class RowMock
attr_accessor :idx, :first_used, :first_unused, :height, :outline_level
def initialize
@idx, @first_used, @first_unused, @height, @outline_level = 0, 0, 0, 0, 1
end
def respond_to_missing? *args
super
end
def method_missing name, *args
nil
end
end
def test_write_row_should_not_write_if_the_row_has_no_used_columns
sheet = Worksheet.new nil, nil
row = RowMock.new
row.first_used = nil
sheet.write_row row
assert_equal "", sheet.data
end
def test_write_row_should_write_if_any_column_is_used
sheet = Worksheet.new nil, nil
row = RowMock.new
sheet.write_row row
assert_equal false, sheet.data.empty?
end
def test_strings
book = Spreadsheet::Excel::Workbook.new
sheet = book.create_worksheet
writer = Worksheet.new book, sheet
rowi = -1
assert_equal(
{},
writer.strings
)
sheet.row(rowi += 1).concat(["Hello", "World"])
assert_equal(
{"Hello" => 1, "World" => 1},
writer.strings
)
sheet.row(rowi + 1).concat(["Goodbye", "Cruel", "World", 2012])
assert_equal(
{"Hello" => 1, "Goodbye" => 1, "Cruel" => 1, "World" => 2},
writer.strings
)
end
end
end
end
end
|