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 = '
header4 | header3 | header2 | header1 |
---|
qux1 | baz1 | bar1 | foo1 |
qux2 | baz2 | bar2 | foo2 |
qux3 | baz3 | bar3 | foo3 |
qux4 | baz4 | bar4 | foo4 |
'
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 = 'foo4 | foo3 | foo2 | foo1 | header1 |
---|
bar4 | bar3 | bar2 | bar1 | header2 |
---|
baz4 | baz3 | baz2 | baz1 | header3 |
---|
qux4 | qux3 | qux2 | qux1 | header4 |
---|
'
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 = 'foo1 | foo2 | foo3 | foo4 | header1 |
---|
bar1 | bar2 | bar3 | bar4 | header2 |
---|
baz1 | baz2 | baz3 | baz4 | header3 |
---|
qux1 | qux2 | qux3 | qux4 | header4 |
---|
'
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 = 'qux4 | qux3 | qux2 | qux1 | header4 |
---|
baz4 | baz3 | baz2 | baz1 | header3 |
---|
bar4 | bar3 | bar2 | bar1 | header2 |
---|
foo4 | foo3 | foo2 | foo1 | header1 |
---|
'
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 = 'qux1 | qux2 | qux3 | qux4 | header4 |
---|
baz1 | baz2 | baz3 | baz4 | header3 |
---|
bar1 | bar2 | bar3 | bar4 | header2 |
---|
foo1 | foo2 | foo3 | foo4 | header1 |
---|
'
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 = 'qux4 | baz4 | bar4 | foo4 |
qux3 | baz3 | bar3 | foo3 |
qux2 | baz2 | bar2 | foo2 |
qux1 | baz1 | bar1 | foo1 |
header4 | header3 | header2 | header1 |
---|
'
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 = 'qux1 | baz1 | bar1 | foo1 |
qux2 | baz2 | bar2 | foo2 |
qux3 | baz3 | bar3 | foo3 |
qux4 | baz4 | bar4 | foo4 |
header4 | header3 | header2 | header1 |
---|
'
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 = 'foo4 | bar4 | baz4 | qux4 |
foo3 | bar3 | baz3 | qux3 |
foo2 | bar2 | baz2 | qux2 |
foo1 | bar1 | baz1 | qux1 |
header1 | header2 | header3 | header4 |
---|
'
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 = 'foo1 | bar1 | baz1 | qux1 |
foo2 | bar2 | baz2 | qux2 |
foo3 | bar3 | baz3 | qux3 |
foo4 | bar4 | baz4 | qux4 |
header1 | header2 | header3 | header4 |
---|
'
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 = 'header4 | qux1 | qux2 | qux3 | qux4 |
---|
header3 | baz1 | baz2 | baz3 | baz4 |
---|
header2 | bar1 | bar2 | bar3 | bar4 |
---|
header1 | foo1 | foo2 | foo3 | foo4 |
---|
'
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 = 'header1 | foo1 | foo2 | foo3 | foo4 |
---|
header2 | bar1 | bar2 | bar3 | bar4 |
---|
header3 | baz1 | baz2 | baz3 | baz4 |
---|
header4 | qux1 | qux2 | qux3 | qux4 |
---|
'
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