summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2012-05-03 09:10:23 +0900
committerRandy Morgan <[email protected]>2012-05-03 09:10:23 +0900
commite622dc54069074198990beb0462da630bad38dd0 (patch)
tree4065eb11cf4dcd68440bf8347af4509c130fb11e /test
parent2dfdd1f26b1fc748da3b4edad9aeeaeae842aedb (diff)
downloadcaxlsx-e622dc54069074198990beb0462da630bad38dd0.tar.gz
caxlsx-e622dc54069074198990beb0462da630bad38dd0.zip
rebuild series data base objects with full implementation.
Address shape validation error.
Diffstat (limited to 'test')
-rw-r--r--test/drawing/tc_bar_series.rb13
-rw-r--r--test/drawing/tc_cat_axis_data.rb44
-rw-r--r--test/drawing/tc_chart.rb2
-rw-r--r--test/drawing/tc_data_source.rb17
-rw-r--r--test/drawing/tc_line_series.rb12
-rw-r--r--test/drawing/tc_named_axis_data.rb44
-rw-r--r--test/drawing/tc_num_data.rb27
-rw-r--r--test/drawing/tc_num_val.rb29
-rw-r--r--test/drawing/tc_pie_series.rb15
-rw-r--r--test/drawing/tc_scatter_series.rb6
-rw-r--r--test/drawing/tc_str_data.rb18
-rw-r--r--test/drawing/tc_str_val.rb21
12 files changed, 166 insertions, 82 deletions
diff --git a/test/drawing/tc_bar_series.rb b/test/drawing/tc_bar_series.rb
index 443427c1..93ebbbbb 100644
--- a/test/drawing/tc_bar_series.rb
+++ b/test/drawing/tc_bar_series.rb
@@ -11,23 +11,16 @@ class TestBarSeries < Test::Unit::TestCase
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.data.class, Axlsx::NumDataSource, "data option applied")
assert_equal(@series.shape, :cone, "series shape has been applied")
+ assert(@series.data.is_a?(Axlsx::NumDataSource))
+ assert(@series.labels.is_a?(Axlsx::AxDataSource))
end
def test_colors
assert_equal(@series.colors.size, 3)
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 = :box }
diff --git a/test/drawing/tc_cat_axis_data.rb b/test/drawing/tc_cat_axis_data.rb
index 4c90cf60..09b14be6 100644
--- a/test/drawing/tc_cat_axis_data.rb
+++ b/test/drawing/tc_cat_axis_data.rb
@@ -1,27 +1,27 @@
-require 'tc_helper.rb'
+# require 'tc_helper.rb'
-class TestCatAxisData < Test::Unit::TestCase
+# 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"]
- end
+# 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"]
+# end
- def test_initialize
- assert(@series.labels.is_a?Axlsx::SimpleTypedList)
- assert_equal(@series.labels, ["zero", "one", "two"])
- end
+# def test_initialize
+# assert(@series.labels.is_a?Axlsx::SimpleTypedList)
+# 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
+# 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
+# end
diff --git a/test/drawing/tc_chart.rb b/test/drawing/tc_chart.rb
index 8047c018..98a72e9c 100644
--- a/test/drawing/tc_chart.rb
+++ b/test/drawing/tc_chart.rb
@@ -50,8 +50,6 @@ class TestChart < Test::Unit::TestCase
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.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_pn
diff --git a/test/drawing/tc_data_source.rb b/test/drawing/tc_data_source.rb
new file mode 100644
index 00000000..6b35e008
--- /dev/null
+++ b/test/drawing/tc_data_source.rb
@@ -0,0 +1,17 @@
+ require 'tc_helper.rb'
+
+ class TestNumDataSource < Test::Unit::TestCase
+
+ def setup
+ @data_source = Axlsx::NumDataSource.new :data => ["1", "2", "3"]
+ end
+
+ def test_to_xml_string_strLit
+ str = '<?xml version="1.0" encoding="UTF-8"?>'
+ str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
+ str << @data_source.to_xml_string
+ doc = Nokogiri::XML(str)
+ assert_equal(doc.xpath("//c:val").size, 1)
+ end
+
+ end
diff --git a/test/drawing/tc_line_series.rb b/test/drawing/tc_line_series.rb
index a2417549..ef180e39 100644
--- a/test/drawing/tc_line_series.rb
+++ b/test/drawing/tc_line_series.rb
@@ -11,16 +11,10 @@ class TestLineSeries < Test::Unit::TestCase
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")
- end
-
- def test_data
- assert_equal(@series.data, [0,1,2])
- end
+ assert_equal(@series.labels.class, Axlsx::AxDataSource)
+ assert_equal(@series.data.class, Axlsx::NumDataSource)
- def test_labels
- assert_equal(@series.labels, ["zero", "one", "two"])
end
+ #TODO serialization testing
end
diff --git a/test/drawing/tc_named_axis_data.rb b/test/drawing/tc_named_axis_data.rb
index fe3a32fb..63fb4610 100644
--- a/test/drawing/tc_named_axis_data.rb
+++ b/test/drawing/tc_named_axis_data.rb
@@ -1,27 +1,27 @@
-require 'tc_helper.rb'
+# require 'tc_helper.rb'
-class TestNamedAxisData < Test::Unit::TestCase
+# class TestNamedAxisData < Test::Unit::TestCase
- def setup
- p = Axlsx::Package.new
- @ws = p.workbook.add_worksheet
- @chart = @ws.drawing.add_chart Axlsx::Line3DChart
- @series = @chart.add_series :data=>[0,1,2]
- end
+# def setup
+# p = Axlsx::Package.new
+# @ws = p.workbook.add_worksheet
+# @chart = @ws.drawing.add_chart Axlsx::Line3DChart
+# @series = @chart.add_series :data=>[0,1,2]
+# end
- def test_initialize
- assert(@series.data.is_a?Axlsx::SimpleTypedList)
- assert_equal(@series.data, [0,1,2])
- end
+# def test_initialize
+# assert(@series.data.is_a?Axlsx::SimpleTypedList)
+# assert_equal(@series.data, [0,1,2])
+# end
- def test_to_xml_string
- doc = Nokogiri::XML(@chart.to_xml_string)
- assert_equal(doc.xpath("//c:val/c:numRef/c:f").size,1)
- assert_equal(doc.xpath("//c:numCache/c:ptCount[@val='#{@series.data.size}']").size,1)
- @series.data.each_with_index do |datum, index|
- assert_equal(doc.xpath("//c:numCache/c:pt[@idx='#{index}']").size,1)
- assert_equal(doc.xpath("//c:numCache/c:pt/c:v[text()='#{datum}']").size,1)
- end
- end
+# def test_to_xml_string
+# doc = Nokogiri::XML(@chart.to_xml_string)
+# assert_equal(doc.xpath("//c:val/c:numRef/c:f").size,1)
+# assert_equal(doc.xpath("//c:numCache/c:ptCount[@val='#{@series.data.size}']").size,1)
+# @series.data.each_with_index do |datum, index|
+# assert_equal(doc.xpath("//c:numCache/c:pt[@idx='#{index}']").size,1)
+# assert_equal(doc.xpath("//c:numCache/c:pt/c:v[text()='#{datum}']").size,1)
+# end
+# end
-end
+# end
diff --git a/test/drawing/tc_num_data.rb b/test/drawing/tc_num_data.rb
new file mode 100644
index 00000000..85bf5614
--- /dev/null
+++ b/test/drawing/tc_num_data.rb
@@ -0,0 +1,27 @@
+require 'tc_helper.rb'
+
+class TestNumData < Test::Unit::TestCase
+
+ def setup
+ @num_data = Axlsx::NumData.new :data => [1, 2, 3]
+ end
+
+ def test_initialize
+ assert_equal(@num_data.format_code, "General")
+ end
+
+ def test_format_code
+ assert_raise(ArgumentError) {@num_data.format_code = 7}
+ assert_nothing_raised {@num_data.format_code = 'foo_bar'}
+ end
+
+ def test_to_xml_string
+ str = '<?xml version="1.0" encoding="UTF-8"?>'
+ str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
+ str << @num_data.to_xml_string
+ doc = Nokogiri::XML(str)
+ assert_equal(doc.xpath("//c:numLit/c:ptCount[@val=3]").size, 1)
+ assert_equal(doc.xpath("//c:numLit/c:pt/c:v[text()='1']").size, 1)
+ end
+
+end
diff --git a/test/drawing/tc_num_val.rb b/test/drawing/tc_num_val.rb
new file mode 100644
index 00000000..ef27deb9
--- /dev/null
+++ b/test/drawing/tc_num_val.rb
@@ -0,0 +1,29 @@
+require 'tc_helper.rb'
+
+class TestNumVal < Test::Unit::TestCase
+
+ def setup
+ @num_val = Axlsx::NumVal.new :v => 1
+ end
+
+ def test_initialize
+ assert_equal(@num_val.format_code, "General")
+ assert_equal(@num_val.v, "1")
+ end
+
+ def test_format_code
+ assert_raise(ArgumentError) {@num_val.format_code = 7}
+ assert_nothing_raised {@num_val.format_code = 'foo_bar'}
+ end
+
+ def test_to_xml_string
+ str = '<?xml version="1.0" encoding="UTF-8"?>'
+ str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
+ str << @num_val.to_xml_string(0)
+ doc = Nokogiri::XML(str)
+ # lets see if this works?
+ assert_equal(doc.xpath("//c:pt/c:v[text()='1']").size, 1)
+
+ end
+
+end
diff --git a/test/drawing/tc_pie_series.rb b/test/drawing/tc_pie_series.rb
index 66c8da81..d9853850 100644
--- a/test/drawing/tc_pie_series.rb
+++ b/test/drawing/tc_pie_series.rb
@@ -11,24 +11,17 @@ class TestPieSeries < Test::Unit::TestCase
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.labels.class, Axlsx::AxDataSource)
+ assert_equal(@series.data.class, Axlsx::NumDataSource)
assert_equal(@series.explosion, nil, "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_explosion
assert_raise(ArgumentError, "require valid explosion") { @series.explosion = :lots }
assert_nothing_raised("allow valid explosion") { @series.explosion = 20 }
assert(@series.explosion == 20)
end
+ #TODO test unique serialization parts
+
end
diff --git a/test/drawing/tc_scatter_series.rb b/test/drawing/tc_scatter_series.rb
index f84d4697..e97abca7 100644
--- a/test/drawing/tc_scatter_series.rb
+++ b/test/drawing/tc_scatter_series.rb
@@ -13,15 +13,9 @@ class TestScatterSeries < Test::Unit::TestCase
assert_equal(@series.title.text, "exponents", "series title has been applied")
end
- def test_data
- 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
diff --git a/test/drawing/tc_str_data.rb b/test/drawing/tc_str_data.rb
new file mode 100644
index 00000000..a116965b
--- /dev/null
+++ b/test/drawing/tc_str_data.rb
@@ -0,0 +1,18 @@
+require 'tc_helper.rb'
+
+class TestStrData < Test::Unit::TestCase
+
+ def setup
+ @str_data = Axlsx::StrData.new :data => ["1", "2", "3"]
+ end
+
+ def test_to_xml_string_strLit
+ str = '<?xml version="1.0" encoding="UTF-8"?>'
+ str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
+ str << @str_data.to_xml_string
+ doc = Nokogiri::XML(str)
+ assert_equal(doc.xpath("//c:strLit/c:ptCount[@val=3]").size, 1)
+ assert_equal(doc.xpath("//c:strLit/c:pt/c:v[text()='1']").size, 1)
+ end
+
+end
diff --git a/test/drawing/tc_str_val.rb b/test/drawing/tc_str_val.rb
new file mode 100644
index 00000000..0e4ca835
--- /dev/null
+++ b/test/drawing/tc_str_val.rb
@@ -0,0 +1,21 @@
+require 'tc_helper.rb'
+
+class TestStrVal < Test::Unit::TestCase
+
+ def setup
+ @str_val = Axlsx::StrVal.new :v => "1"
+ end
+
+ def test_initialize
+ assert_equal(@str_val.v, "1")
+ end
+
+ def test_to_xml_string
+ str = '<?xml version="1.0" encoding="UTF-8"?>'
+ str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
+ str << @str_val.to_xml_string(0)
+ doc = Nokogiri::XML(str)
+ assert_equal(doc.xpath("//c:pt/c:v[text()='1']").size, 1)
+ end
+
+end