summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2012-04-28 11:57:23 +0900
committerRandy Morgan <[email protected]>2012-04-28 11:57:23 +0900
commit66c92d008b3caa0223627ea2de13a75fb6b90701 (patch)
tree29037f687453a2ec0d4d8f424f16a17ebe37f068
parent3179631b7a75ae490a20b41950ecf59c25b01130 (diff)
downloadcaxlsx-66c92d008b3caa0223627ea2de13a75fb6b90701.tar.gz
caxlsx-66c92d008b3caa0223627ea2de13a75fb6b90701.zip
specs for color and series changes
-rw-r--r--test/drawing/tc_bar_series.rb22
-rw-r--r--test/drawing/tc_cat_axis_data.rb14
-rw-r--r--test/drawing/tc_scatter_series.rb11
3 files changed, 38 insertions, 9 deletions
diff --git a/test/drawing/tc_bar_series.rb b/test/drawing/tc_bar_series.rb
index b07b42a4..443427c1 100644
--- a/test/drawing/tc_bar_series.rb
+++ b/test/drawing/tc_bar_series.rb
@@ -5,15 +5,19 @@ class TestBarSeries < Test::Unit::TestCase
def setup
p = Axlsx::Package.new
@ws = p.workbook.add_worksheet :name=>"hmmm"
- chart = @ws.drawing.add_chart Axlsx::Bar3DChart, :title => "fishery"
- @series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob"
+ @chart = @ws.drawing.add_chart Axlsx::Bar3DChart, :title => "fishery"
+ @series = @chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob", :colors => ['FF0000', '00FF00', '0000FF'], :shape => :cone
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")
+ assert_equal(@series.shape, :cone, "series shape has been applied")
+ end
+
+ def test_colors
+ assert_equal(@series.colors.size, 3)
end
def test_data
@@ -26,8 +30,16 @@ class TestBarSeries < Test::Unit::TestCase
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)
+ assert_nothing_raised("allow valid shape") { @series.shape = :box }
+ assert(@series.shape == :box)
end
+ def test_to_xml_string
+ doc = Nokogiri::XML(@chart.to_xml_string)
+ @series.colors.each_with_index do |color, index|
+ assert_equal(doc.xpath("//c:dPt/c:idx[@val='#{index}']").size,1)
+ assert_equal(doc.xpath("//c:dPt/c:spPr/a:solidFill/a:srgbClr[@val='#{@series.colors[index]}']").size,1)
+ end
+ assert_equal(doc.xpath("//c:shape[@val='#{@series.shape.to_s}']").size, 1)
+ end
end
diff --git a/test/drawing/tc_cat_axis_data.rb b/test/drawing/tc_cat_axis_data.rb
index b176c0f0..4c90cf60 100644
--- a/test/drawing/tc_cat_axis_data.rb
+++ b/test/drawing/tc_cat_axis_data.rb
@@ -5,8 +5,8 @@ class TestCatAxisData < Test::Unit::TestCase
def setup
p = Axlsx::Package.new
@ws = p.workbook.add_worksheet
- chart = @ws.drawing.add_chart Axlsx::Bar3DChart
- @series = chart.add_series :labels=>["zero", "one", "two"]
+ @chart = @ws.drawing.add_chart Axlsx::Bar3DChart
+ @series = @chart.add_series :labels=>["zero", "one", "two"]
end
def test_initialize
@@ -14,4 +14,14 @@ class TestCatAxisData < Test::Unit::TestCase
assert_equal(@series.labels, ["zero", "one", "two"])
end
+ def test_to_xml_string
+ doc = Nokogiri::XML(@chart.to_xml_string)
+ assert_equal(doc.xpath("//c:cat/c:strRef/c:f").size,1)
+ assert_equal(doc.xpath("//c:strCache/c:ptCount[@val='#{@series.labels.size}']").size,1)
+ @series.labels.each_with_index do |label, index|
+ assert_equal(doc.xpath("//c:strCache/c:pt[@idx='#{index}']").size,1)
+ assert_equal(doc.xpath("//c:strCache/c:pt/c:v[text()='#{label}']").size,1)
+ end
+ end
+
end
diff --git a/test/drawing/tc_scatter_series.rb b/test/drawing/tc_scatter_series.rb
index a815c9e3..f84d4697 100644
--- a/test/drawing/tc_scatter_series.rb
+++ b/test/drawing/tc_scatter_series.rb
@@ -5,8 +5,8 @@ class TestScatterSeries < Test::Unit::TestCase
def setup
p = Axlsx::Package.new
@ws = p.workbook.add_worksheet :name=>"hmmm"
- chart = @ws.drawing.add_chart Axlsx::ScatterChart, :title => "Scatter Chart"
- @series = chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"exponents"
+ @chart = @ws.drawing.add_chart Axlsx::ScatterChart, :title => "Scatter Chart"
+ @series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"exponents", :color => 'FF0000'
end
def test_initialize
@@ -17,4 +17,11 @@ class TestScatterSeries < Test::Unit::TestCase
assert_equal(@series.xData, [1,2,4])
assert_equal(@series.yData, [1,3,9])
end
+
+ def test_to_xml_string
+ doc = Nokogiri::XML(@chart.to_xml_string)
+ assert_equal(doc.xpath("//a:srgbClr[@val='#{@series.color}']").size,4)
+
+ end
+
end