| Class | DsvExporterTest |
| In: |
lib/export/dsv_exporter_test.rb
|
| Parent: | Test::Unit::TestCase |
| CRLF | = | "\r\n" |
| DELIMITER | = | ',' |
# File lib/export/dsv_exporter_test.rb, line 15
15: def setup
16: @exporter = DsvExporter.new(DELIMITER)
17: @header = ??{A B C}
18: row1 = [1,2,3]
19: row2 = [4,5,6]
20: row3 = [7,8,9]
21: @rows = [row1, row2, row3]
22: end
# File lib/export/dsv_exporter_test.rb, line 38
38: def test_export_as_text_with_header
39: @exporter.header = @header
40: text_export = @exporter.export_as_text(@rows)
41: assert_equal(@rows.size + 1, text_export.split(CRLF).size)
42: text_tab = text_export.split(CRLF)
43: assert_equal @header.collect { |e| %{"#{e}"} }.join(DELIMITER) , text_tab[0]
44: assert_equal @rows[0].collect { |e| %{"#{e}"} }.join(DELIMITER), text_tab[1]
45: assert_equal @rows[1].collect { |e| %{"#{e}"} }.join(DELIMITER), text_tab[2]
46: assert_equal @rows[2].collect { |e| %{"#{e}"} }.join(DELIMITER), text_tab[3]
47: end
# File lib/export/dsv_exporter_test.rb, line 24
24: def test_export_empty_table
25: assert_equal [], @exporter.export([])
26: end
# File lib/export/dsv_exporter_test.rb, line 28
28: def test_export_with_header
29: @exporter.header = @header
30: export = @exporter.export(@rows)
31: assert_equal @rows.size + 1, export.size
32: assert_equal @header.collect { |e| %{"#{e}"} }.join(DELIMITER) , export[0]
33: assert_equal @rows[0].collect { |e| %{"#{e}"} }.join(DELIMITER), export[1]
34: assert_equal @rows[1].collect { |e| %{"#{e}"} }.join(DELIMITER), export[2]
35: assert_equal @rows[2].collect { |e| %{"#{e}"} }.join(DELIMITER), export[3]
36: end
# File lib/export/dsv_exporter_test.rb, line 49
49: def test_export_without_header
50: export = @exporter.export(@rows)
51: assert_equal @rows.size, export.size
52: assert_equal @rows[0].collect { |e| %{"#{e}"} }.join(DELIMITER), export[0]
53: assert_equal @rows[1].collect { |e| %{"#{e}"} }.join(DELIMITER), export[1]
54: assert_equal @rows[2].collect { |e| %{"#{e}"} }.join(DELIMITER), export[2]
55: end
# File lib/export/dsv_exporter_test.rb, line 57
57: def test_quotes_values
58: value_with_quote = 'val"ue'
59: export = @exporter.export_as_text([value_with_quote])
60: assert_equal(4, export.count('"'),
61: "Should have 4 quotation marks. One at beginning, two in the middle and
62: one at the end.")
63: end