summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2012-03-21 22:48:50 +0900
committerRandy Morgan <[email protected]>2012-03-21 22:48:50 +0900
commit06f4c129cc5cd3fd374ffde7a3516ef5978c14c2 (patch)
tree0ec761c2b1b428ebd267c686c9a1674ca56fd54b /test
parent0531fd7f4902f33e3ede66f7075dd739e5a434c5 (diff)
parent4889df8a7702c16bee284a9dffa33bdb8abaa55a (diff)
downloadcaxlsx-06f4c129cc5cd3fd374ffde7a3516ef5978c14c2.tar.gz
caxlsx-06f4c129cc5cd3fd374ffde7a3516ef5978c14c2.zip
resolve small merge conflict
Diffstat (limited to 'test')
-rw-r--r--test/table/tc_table.rb72
1 files changed, 72 insertions, 0 deletions
diff --git a/test/table/tc_table.rb b/test/table/tc_table.rb
new file mode 100644
index 00000000..d6bc95d0
--- /dev/null
+++ b/test/table/tc_table.rb
@@ -0,0 +1,72 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestTable < Test::Unit::TestCase
+ def setup
+ p = Axlsx::Package.new
+ @ws = p.workbook.add_worksheet
+ 40.times do
+ @ws << ["aa","aa","aa","aa","aa","aa"]
+ end
+ end
+
+ def test_initialization
+ assert(@ws.workbook.tables.empty?)
+ assert(@ws.tables.empty?)
+
+ end
+
+ def test_add_table
+ name = "test"
+ table = @ws.add_table("A1:D5", :name => name)
+ assert(table.is_a?(Axlsx::Table), "must create a table")
+ assert_equal(@ws.workbook.tables.last, table, "must be added to workbook table collection")
+ assert_equal(@ws.tables.last, table, "must be added to worksheet table collection")
+ assert_equal(table.name, name, "options for name are applied")
+
+ end
+
+ def test_charts
+ assert(@ws.drawing.charts.empty?)
+ chart = @ws.add_chart(Axlsx::Pie3DChart, :title=>"bob", :start_at=>[0,0], :end_at=>[1,1])
+ assert_equal(@ws.drawing.charts.last, chart, "add chart is returned")
+ chart = @ws.add_chart(Axlsx::Pie3DChart, :title=>"nancy", :start_at=>[1,5], :end_at=>[5,10])
+ assert_equal(@ws.drawing.charts.last, chart, "add chart is returned")
+ end
+
+ def test_pn
+ table = @ws.add_table("A1:D5")
+ assert_equal(@ws.tables.first.pn, "tables/table1.xml")
+ end
+
+ def test_rId
+ table = @ws.add_table("A1:D5")
+ assert_equal(@ws.tables.first.rId, "rId1")
+ end
+
+ def test_index
+ table = @ws.add_table("A1:D5")
+ assert_equal(@ws.tables.first.index, @ws.workbook.tables.index(@ws.tables.first))
+ end
+
+ def test_relationships
+ assert(@ws.relationships.empty?)
+ table = @ws.add_table("A1:D5")
+ assert_equal(@ws.relationships.size, 1, "adding a table adds a relationship")
+ table = @ws.add_table("F1:J5")
+ assert_equal(@ws.relationships.size, 2, "adding a table adds a relationship")
+ end
+
+ def test_to_xml
+ table = @ws.add_table("A1:D5")
+ schema = Nokogiri::XML::Schema(File.open(Axlsx::SML_XSD))
+ doc = Nokogiri::XML(table.to_xml)
+ errors = []
+ schema.validate(doc).each do |error|
+ errors.push error
+ puts error.message
+ end
+ assert(errors.empty?, "error free validation")
+ end
+
+end