diff options
| author | Randy Morgan <[email protected]> | 2011-11-21 23:42:03 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2011-11-21 23:42:03 +0900 |
| commit | 11729af6e1dc9492ba1fadb3681b885a4ff7dbbb (patch) | |
| tree | c47d5e007b9711066bc46be5914fe73e75bace6c /test/drawing | |
| parent | e53a0b7223e531046dd263ff5686d6e34196512a (diff) | |
| download | caxlsx-11729af6e1dc9492ba1fadb3681b885a4ff7dbbb.tar.gz caxlsx-11729af6e1dc9492ba1fadb3681b885a4ff7dbbb.zip | |
Adding in support for line charts, style attribute for all charts and minor bug fixes.
Diffstat (limited to 'test/drawing')
| -rw-r--r-- | test/drawing/tc_bar_series.rb | 2 | ||||
| -rw-r--r-- | test/drawing/tc_chart.rb | 12 | ||||
| -rw-r--r-- | test/drawing/tc_line_3d_chart.rb | 48 | ||||
| -rw-r--r-- | test/drawing/tc_line_series.tc | 34 | ||||
| -rw-r--r-- | test/drawing/tc_pie_series.rb | 2 | ||||
| -rw-r--r-- | test/drawing/tc_ser_axis.rb | 23 | ||||
| -rw-r--r-- | test/drawing/tc_series.rb | 2 | ||||
| -rw-r--r-- | test/drawing/tc_series_title.rb | 34 |
8 files changed, 149 insertions, 8 deletions
diff --git a/test/drawing/tc_bar_series.rb b/test/drawing/tc_bar_series.rb index 1f0800f1..afd6004a 100644 --- a/test/drawing/tc_bar_series.rb +++ b/test/drawing/tc_bar_series.rb @@ -11,7 +11,7 @@ class TestBarSeries < Test::Unit::TestCase end def test_initialize - assert_equal(@series.title, "bob", "series title has been applied") + assert_equal(@series.title.text, "bob", "series title has been applied") assert_equal(@series.data, [0,1,2], "data option applied") assert_equal(@series.labels, ["zero", "one","two"], "labels option applied") assert_equal(@series.shape, :box, "series shape has been applied") diff --git a/test/drawing/tc_chart.rb b/test/drawing/tc_chart.rb index 8e26a832..586df2c5 100644 --- a/test/drawing/tc_chart.rb +++ b/test/drawing/tc_chart.rb @@ -28,19 +28,21 @@ class TestChart < Test::Unit::TestCase assert_equal(@chart.title.cell, @row.cells.first) end + def test_style + assert_raise(ArgumentError) { @chart.style = 49 } + assert_nothing_raised { @chart.style = 2 } + assert_equal(@chart.style, 2) + end + def test_add_series s = @chart.add_series :data=>[0,1,2,3], :labels => ["one", 1, "anything"], :title=>"bob" assert_equal(@chart.series.last, s, "series has been added to chart series collection") - assert_equal(s.title, "bob", "series title has been applied") + assert_equal(s.title.text, "bob", "series title has been applied") assert_equal(s.data, [0,1,2,3], "data option applied") assert_equal(s.labels, ["one",1,"anything"], "labels option applied") end - def test_create_range - - end - def test_pn assert_equal(@chart.pn, "charts/chart1.xml") end diff --git a/test/drawing/tc_line_3d_chart.rb b/test/drawing/tc_line_3d_chart.rb new file mode 100644 index 00000000..5c4a3f26 --- /dev/null +++ b/test/drawing/tc_line_3d_chart.rb @@ -0,0 +1,48 @@ +require 'test/unit' +require 'axlsx.rb' + +class TestLine3DChart < Test::Unit::TestCase + + def setup + @p = Axlsx::Package.new + ws = @p.workbook.add_worksheet + @row = ws.add_row ["one", 1, Time.now] + @chart = ws.add_chart Axlsx::Line3DChart, :title => "fishery" + end + + def teardown + end + + def test_initialization + assert_equal(@chart.grouping, :standard, "grouping defualt incorrect") + assert_equal(@chart.series_type, Axlsx::LineSeries, "series type incorrect") + assert(@chart.catAxis.is_a?(Axlsx::CatAxis), "category axis not created") + assert(@chart.valAxis.is_a?(Axlsx::ValAxis), "value access not created") + assert(@chart.serAxis.is_a?(Axlsx::SerAxis), "value access not created") + end + + def test_grouping + assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted } + assert_nothing_raised("allow valid grouping") { @chart.grouping = :stacked } + assert(@chart.grouping == :stacked) + end + + def test_gapDepth + assert_raise(ArgumentError, "require valid gapDepth") { @chart.gapDepth = 200 } + assert_nothing_raised("allow valid gapDepth") { @chart.gapDepth = "200%" } + assert(@chart.gapDepth == "200%") + end + + + def test_to_xml + schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD)) + doc = Nokogiri::XML(@chart.to_xml) + errors = [] + schema.validate(doc).each do |error| + errors.push error + puts error.message + end + assert(errors.empty?, "error free validation") + end + +end diff --git a/test/drawing/tc_line_series.tc b/test/drawing/tc_line_series.tc new file mode 100644 index 00000000..54cbc256 --- /dev/null +++ b/test/drawing/tc_line_series.tc @@ -0,0 +1,34 @@ +require 'test/unit' +require 'axlsx.rb' + +class TestLineSeries < Test::Unit::TestCase + + def setup + p = Axlsx::Package.new + @ws = p.workbook.add_worksheet :name=>"hmmm" + chart = @ws.drawing.add_chart Axlsx::Line3DChart, :title => "fishery" + @series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob" + end + + def test_initialize + assert_equal(@series.title.text, "bob", "series title has been applied") + assert_equal(@series.data, [0,1,2], "data option applied") + assert_equal(@series.labels, ["zero", "one","two"], "labels option applied") + assert_equal(@series.shape, :box, "series shape has been applied") + end + + def test_data + assert_equal(@series.data, [0,1,2]) + end + + def test_labels + assert_equal(@series.labels, ["zero", "one", "two"]) + end + + def test_shape + assert_raise(ArgumentError, "require valid shape") { @series.shape = :teardropt } + assert_nothing_raised("allow valid shape") { @series.shape = :cone } + assert(@series.shape == :cone) + end + +end diff --git a/test/drawing/tc_pie_series.rb b/test/drawing/tc_pie_series.rb index e7c5e83b..53799c72 100644 --- a/test/drawing/tc_pie_series.rb +++ b/test/drawing/tc_pie_series.rb @@ -11,7 +11,7 @@ class TestPieSeries < Test::Unit::TestCase end def test_initialize - assert_equal(@series.title, "bob", "series title has been applied") + assert_equal(@series.title.text, "bob", "series title has been applied") assert_equal(@series.data, [0,1,2], "data option applied") assert_equal(@series.labels, ["zero", "one","two"], "labels option applied") assert_equal(@series.explosion, nil, "series shape has been applied") diff --git a/test/drawing/tc_ser_axis.rb b/test/drawing/tc_ser_axis.rb new file mode 100644 index 00000000..1882e1f1 --- /dev/null +++ b/test/drawing/tc_ser_axis.rb @@ -0,0 +1,23 @@ +require 'test/unit' +require 'axlsx.rb' + +class TestSerAxis < Test::Unit::TestCase + def setup + @axis = Axlsx::SerAxis.new 12345, 54321 + end + def teardown + end + + def test_tickLblSkip + assert_raise(ArgumentError, "requires valid tickLblSkip") { @axis.tickLblSkip = :my_eyes } + assert_nothing_raised("accepts valid tickLblSkip") { @axis.tickLblSkip = false } + assert_equal(@axis.tickLblSkip, false) + end + + def test_tickMarkSkip + assert_raise(ArgumentError, "requires valid tickMarkSkip") { @axis.tickMarkSkip = :my_eyes } + assert_nothing_raised("accepts valid tickMarkSkip") { @axis.tickMarkSkip = false } + assert_equal(@axis.tickMarkSkip, false) + end + +end diff --git a/test/drawing/tc_series.rb b/test/drawing/tc_series.rb index b94ec308..cbbd93d4 100644 --- a/test/drawing/tc_series.rb +++ b/test/drawing/tc_series.rb @@ -11,7 +11,7 @@ class TestSeries < Test::Unit::TestCase end def test_initialize - assert_equal(@series.title, "bob", "series title has been applied") + assert_equal(@series.title.text, "bob", "series title has been applied") assert_equal(@series.order, @series.index, "order is index by default") assert_equal(@series.index, @series.chart.series.index(@series), "index is applied") end diff --git a/test/drawing/tc_series_title.rb b/test/drawing/tc_series_title.rb new file mode 100644 index 00000000..f10370b7 --- /dev/null +++ b/test/drawing/tc_series_title.rb @@ -0,0 +1,34 @@ +require 'test/unit' +require 'axlsx.rb' + +class TestSeriesTitle < Test::Unit::TestCase + def setup + @p = Axlsx::Package.new + ws = @p.workbook.add_worksheet + @row = ws.add_row ["one", 1, Time.now] + @title = Axlsx::SeriesTitle.new + @chart = ws.add_chart Axlsx::Bar3DChart + end + + def teardown + end + + def test_initialization + assert(@title.text == "") + assert(@title.cell == nil) + end + + def test_text + assert_raise(ArgumentError, "text must be a string") { @title.text = 123 } + @title.cell = @row.cells.first + @title.text = "bob" + assert(@title.cell == nil, "setting title with text clears the cell") + end + + def test_cell + assert_raise(ArgumentError, "cell must be a Cell") { @title.cell = "123" } + @title.cell = @row.cells.first + assert(@title.text == "one") + end + +end |
