require "test/unit" require "Spreadsheet/HTML" class Test_Theta < Test::Unit::TestCase def test_0flip data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
header4header3header2header1
qux1baz1bar1foo1
qux2baz2bar2foo2
qux3baz3bar3foo3
qux4baz4bar4foo4
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'flip' => 1 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'flip' => 1 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'flip' => 1 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'flip' => 1 ), "named args only" ) end def test_90 data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
foo4foo3foo2foo1header1
bar4bar3bar2bar1header2
baz4baz3baz2baz1header3
qux4qux3qux2qux1header4
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => 90 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 90 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => 90 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 90 ), "named args only" ) end def test_90_pinhead data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
foo1foo2foo3foo4header1
bar1bar2bar3bar4header2
baz1baz2baz3baz4header3
qux1qux2qux3qux4header4
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => 90, 'pinhead' => 1 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 90, 'pinhead' => 1 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => 90, 'pinhead' => 1 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 90, 'pinhead' => 1 ), "named args only" ) end def test_neg90 data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
qux4qux3qux2qux1header4
baz4baz3baz2baz1header3
bar4bar3bar2bar1header2
foo4foo3foo2foo1header1
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => -90 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -90 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => -90 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -90 ), "named args only" ) end def test_neg90_pinhead data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
qux1qux2qux3qux4header4
baz1baz2baz3baz4header3
bar1bar2bar3bar4header2
foo1foo2foo3foo4header1
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => -90, 'pinhead' => 1 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -90, 'pinhead' => 1 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => -90, 'pinhead' => 1 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -90, 'pinhead' => 1 ), "named args only" ) end def test_180 data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
qux4baz4bar4foo4
qux3baz3bar3foo3
qux2baz2bar2foo2
qux1baz1bar1foo1
header4header3header2header1
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => 180 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 180 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => 180 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 180 ), "named args only" ) end def test_180_pinhead data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
qux1baz1bar1foo1
qux2baz2bar2foo2
qux3baz3bar3foo3
qux4baz4bar4foo4
header4header3header2header1
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => 180, 'pinhead' => 1 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 180, 'pinhead' => 1 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => 180, 'pinhead' => 1 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 180, 'pinhead' => 1 ), "named args only" ) end def test_neg180 data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
foo4bar4baz4qux4
foo3bar3baz3qux3
foo2bar2baz2qux2
foo1bar1baz1qux1
header1header2header3header4
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => -180 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -180 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => -180 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -180 ), "named args only" ) end def test_neg180_pinhead data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
foo1bar1baz1qux1
foo2bar2baz2qux2
foo3bar3baz3qux3
foo4bar4baz4qux4
header1header2header3header4
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => -180, 'pinhead' => 1 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -180, 'pinhead' => 1 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => -180, 'pinhead' => 1 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -180, 'pinhead' => 1 ), "named args only" ) end def test_270 data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
header4qux1qux2qux3qux4
header3baz1baz2baz3baz4
header2bar1bar2bar3bar4
header1foo1foo2foo3foo4
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => 270 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 270 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => 270 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 270 ), "named args only" ) end def test_neg270 data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] html = '
header1foo1foo2foo3foo4
header2bar1bar2bar3bar4
header3baz1baz2baz3baz4
header4qux1qux2qux3qux4
' assert_equal( html, Spreadsheet::HTML.new( 'data' => data, 'theta' => -270 ).generate(), "via constructor only" ) assert_equal( html, Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -270 ), "via constructor and method" ) assert_equal( html, Spreadsheet::HTML.new.generate( data, 'theta' => -270 ), "with array ref" ) assert_equal( html, Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -270 ), "named args only" ) end def test_flip data = Array[ %w(header1 header2 header3 header4 ), %w(foo1 bar1 baz1 qux1), %w(foo2 bar2 baz2 qux2), %w(foo3 bar3 baz3 qux3), %w(foo4 bar4 baz4 qux4) ] assert_equal( Spreadsheet::HTML.new( 'data' => data, 'theta' => 90 ).generate(), Spreadsheet::HTML.new( 'data' => data, 'theta' => -90, 'flip' => 1 ).generate(), "90" ) assert_equal( Spreadsheet::HTML.new( 'data' => data, 'theta' => 180 ).generate(), Spreadsheet::HTML.new( 'data' => data, 'theta' => -180, 'flip' => 1 ).generate(), "180" ) assert_equal( Spreadsheet::HTML.new( 'data' => data, 'theta' => 270 ).generate(), Spreadsheet::HTML.new( 'data' => data, 'theta' => -270, 'flip' => 1 ).generate(), "270" ) end end