summaryrefslogtreecommitdiffhomepage
path: root/test/stylesheet
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2011-11-20 23:22:04 +0900
committerRandy Morgan <[email protected]>2011-11-20 23:22:04 +0900
commite53f04284618713b0a90b7a691425c380e829476 (patch)
tree801fea138160f9af426d62bf94ad5bf97123ece9 /test/stylesheet
downloadcaxlsx-e53f04284618713b0a90b7a691425c380e829476.tar.gz
caxlsx-e53f04284618713b0a90b7a691425c380e829476.zip
first commit
Diffstat (limited to 'test/stylesheet')
-rw-r--r--test/stylesheet/tc_border.rb38
-rw-r--r--test/stylesheet/tc_border_pr.rb33
-rw-r--r--test/stylesheet/tc_cell_alignment.rb77
-rw-r--r--test/stylesheet/tc_cell_protection.rb30
-rw-r--r--test/stylesheet/tc_cell_style.rb58
-rw-r--r--test/stylesheet/tc_color.rb38
-rw-r--r--test/stylesheet/tc_fill.rb19
-rw-r--r--test/stylesheet/tc_font.rb114
-rw-r--r--test/stylesheet/tc_gradient_fill.rb65
-rw-r--r--test/stylesheet/tc_gradient_stop.rb32
-rw-r--r--test/stylesheet/tc_num_fmt.rb31
-rw-r--r--test/stylesheet/tc_pattern_fill.rb38
-rw-r--r--test/stylesheet/tc_styles.rb64
-rw-r--r--test/stylesheet/tc_table_style.rb37
-rw-r--r--test/stylesheet/tc_table_style_element.rb37
-rw-r--r--test/stylesheet/tc_table_styles.rb30
-rw-r--r--test/stylesheet/tc_xf.rb121
17 files changed, 862 insertions, 0 deletions
diff --git a/test/stylesheet/tc_border.rb b/test/stylesheet/tc_border.rb
new file mode 100644
index 00000000..ba268e07
--- /dev/null
+++ b/test/stylesheet/tc_border.rb
@@ -0,0 +1,38 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestBorder < Test::Unit::TestCase
+ def setup
+ @b = Axlsx::Border.new
+ end
+ def teardown
+ end
+ def test_initialiation
+ assert_equal(@b.diagonalUp, nil)
+ assert_equal(@b.diagonalDown, nil)
+ assert_equal(@b.outline, nil)
+ assert(@b.prs.is_a?(Axlsx::SimpleTypedList))
+ end
+
+ def test_diagonalUp
+ assert_raise(ArgumentError) { @b.diagonalUp = :red }
+ assert_nothing_raised { @b.diagonalUp = true }
+ assert_equal(@b.diagonalUp, true )
+ end
+
+ def test_diagonalDown
+ assert_raise(ArgumentError) { @b.diagonalDown = :red }
+ assert_nothing_raised { @b.diagonalDown = true }
+ assert_equal(@b.diagonalDown, true )
+ end
+
+ def test_outline
+ assert_raise(ArgumentError) { @b.outline = :red }
+ assert_nothing_raised { @b.outline = true }
+ assert_equal(@b.outline, true )
+ end
+
+ def test_prs
+ assert_nothing_raised { @b.prs << Axlsx::BorderPr.new(:name=>:top, :style=>:thin, :color => Axlsx::Color.new(:rgb=>"FF0000FF")) }
+ end
+end
diff --git a/test/stylesheet/tc_border_pr.rb b/test/stylesheet/tc_border_pr.rb
new file mode 100644
index 00000000..18388186
--- /dev/null
+++ b/test/stylesheet/tc_border_pr.rb
@@ -0,0 +1,33 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestBorderPr < Test::Unit::TestCase
+ def setup
+ @bpr = Axlsx::BorderPr.new
+ end
+ def teardown
+ end
+ def test_initialiation
+ assert_equal(@bpr.color, nil)
+ assert_equal(@bpr.style, nil)
+ assert_equal(@bpr.name, nil)
+ end
+
+ def test_color
+ assert_raise(ArgumentError) { @bpr.color = :red }
+ assert_nothing_raised { @bpr.color = Axlsx::Color.new :rgb=>"FF000000" }
+ assert(@bpr.color.is_a?(Axlsx::Color))
+ end
+
+ def test_style
+ assert_raise(ArgumentError) { @bpr.style = :red }
+ assert_nothing_raised { @bpr.style = :thin }
+ assert_equal(@bpr.style, :thin)
+ end
+
+ def test_name
+ assert_raise(ArgumentError) { @bpr.name = :red }
+ assert_nothing_raised { @bpr.name = :top }
+ assert_equal(@bpr.name, :top)
+ end
+end
diff --git a/test/stylesheet/tc_cell_alignment.rb b/test/stylesheet/tc_cell_alignment.rb
new file mode 100644
index 00000000..a0cb4817
--- /dev/null
+++ b/test/stylesheet/tc_cell_alignment.rb
@@ -0,0 +1,77 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestCellAlignment < Test::Unit::TestCase
+ def setup
+ @item = Axlsx::CellAlignment.new
+ end
+ def teardown
+ end
+ def test_initialiation
+ assert_equal(@item.horizontal, nil)
+ assert_equal(@item.vertical, nil)
+ assert_equal(@item.textRotation, nil)
+ assert_equal(@item.wrapText, nil)
+ assert_equal(@item.indent, nil)
+ assert_equal(@item.relativeIndent, nil)
+ assert_equal(@item.justifyLastLine, nil)
+ assert_equal(@item.shrinkToFit, nil)
+ assert_equal(@item.readingOrder, nil)
+
+ end
+
+ def test_horizontal
+ assert_raise(ArgumentError) { @item.horizontal = :red }
+ assert_nothing_raised { @item.horizontal = :left }
+ assert_equal(@item.horizontal, :left )
+ end
+
+ def test_vertical
+ assert_raise(ArgumentError) { @item.vertical = :red }
+ assert_nothing_raised { @item.vertical = :top }
+ assert_equal(@item.vertical, :top )
+ end
+
+ def test_textRotation
+ assert_raise(ArgumentError) { @item.textRotation = -1 }
+ assert_nothing_raised { @item.textRotation = 5 }
+ assert_equal(@item.textRotation, 5 )
+ end
+
+ def test_wrapText
+ assert_raise(ArgumentError) { @item.wrapText = -1 }
+ assert_nothing_raised { @item.wrapText = false }
+ assert_equal(@item.wrapText, false )
+ end
+
+ def test_indent
+ assert_raise(ArgumentError) { @item.indent = -1 }
+ assert_nothing_raised { @item.indent = 5 }
+ assert_equal(@item.indent, 5 )
+ end
+
+ def test_relativeIndent
+ assert_raise(ArgumentError) { @item.relativeIndent = :symbol }
+ assert_nothing_raised { @item.relativeIndent = 5 }
+ assert_equal(@item.relativeIndent, 5 )
+ end
+
+ def test_justifyLastLine
+ assert_raise(ArgumentError) { @item.justifyLastLine = -1 }
+ assert_nothing_raised { @item.justifyLastLine = true }
+ assert_equal(@item.justifyLastLine, true )
+ end
+
+ def test_shrinkToFit
+ assert_raise(ArgumentError) { @item.shrinkToFit = -1 }
+ assert_nothing_raised { @item.shrinkToFit = true }
+ assert_equal(@item.shrinkToFit, true )
+ end
+
+ def test_readingOrder
+ assert_raise(ArgumentError) { @item.readingOrder = -1 }
+ assert_nothing_raised { @item.readingOrder = 2 }
+ assert_equal(@item.readingOrder, 2 )
+ end
+
+end
diff --git a/test/stylesheet/tc_cell_protection.rb b/test/stylesheet/tc_cell_protection.rb
new file mode 100644
index 00000000..665ec761
--- /dev/null
+++ b/test/stylesheet/tc_cell_protection.rb
@@ -0,0 +1,30 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestCellProtection < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::CellProtection.new
+ end
+
+ def teardown
+ end
+
+ def test_initialiation
+ assert_equal(@item.hidden, nil)
+ assert_equal(@item.locked, nil)
+ end
+
+ def test_hidden
+ assert_raise(ArgumentError) { @item.hidden = -1 }
+ assert_nothing_raised { @item.hidden = false }
+ assert_equal(@item.hidden, false )
+ end
+
+ def test_locked
+ assert_raise(ArgumentError) { @item.locked = -1 }
+ assert_nothing_raised { @item.locked = false }
+ assert_equal(@item.locked, false )
+ end
+
+end
diff --git a/test/stylesheet/tc_cell_style.rb b/test/stylesheet/tc_cell_style.rb
new file mode 100644
index 00000000..878c7aab
--- /dev/null
+++ b/test/stylesheet/tc_cell_style.rb
@@ -0,0 +1,58 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestCellStyle < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::CellStyle.new
+ end
+
+ def teardown
+ end
+
+ def test_initialiation
+ assert_equal(@item.name, nil)
+ assert_equal(@item.xfId, nil)
+ assert_equal(@item.builtinId, nil)
+ assert_equal(@item.iLevel, nil)
+ assert_equal(@item.hidden, nil)
+ assert_equal(@item.customBuiltin, nil)
+ end
+
+ def test_name
+ assert_raise(ArgumentError) { @item.name = -1 }
+ assert_nothing_raised { @item.name = "stylin" }
+ assert_equal(@item.name, "stylin" )
+ end
+
+ def test_xfId
+ assert_raise(ArgumentError) { @item.xfId = -1 }
+ assert_nothing_raised { @item.xfId = 5 }
+ assert_equal(@item.xfId, 5 )
+ end
+
+ def test_builtinId
+ assert_raise(ArgumentError) { @item.builtinId = -1 }
+ assert_nothing_raised { @item.builtinId = 5 }
+ assert_equal(@item.builtinId, 5 )
+ end
+
+ def test_iLevel
+ assert_raise(ArgumentError) { @item.iLevel = -1 }
+ assert_nothing_raised { @item.iLevel = 5 }
+ assert_equal(@item.iLevel, 5 )
+ end
+
+ def test_hidden
+ assert_raise(ArgumentError) { @item.hidden = -1 }
+ assert_nothing_raised { @item.hidden = true }
+ assert_equal(@item.hidden, true )
+ end
+
+ def test_customBuiltin
+ assert_raise(ArgumentError) { @item.customBuiltin = -1 }
+ assert_nothing_raised { @item.customBuiltin = true }
+ assert_equal(@item.customBuiltin, true )
+ end
+
+end
diff --git a/test/stylesheet/tc_color.rb b/test/stylesheet/tc_color.rb
new file mode 100644
index 00000000..55f69448
--- /dev/null
+++ b/test/stylesheet/tc_color.rb
@@ -0,0 +1,38 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestColor < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::Color.new
+ end
+
+ def teardown
+ end
+
+ def test_initialiation
+ assert_equal(@item.auto, nil)
+ assert_equal(@item.rgb, "FF000000")
+ assert_equal(@item.tint, nil)
+ end
+
+ def test_auto
+ assert_raise(ArgumentError) { @item.auto = -1 }
+ assert_nothing_raised { @item.auto = true }
+ assert_equal(@item.auto, true )
+ end
+
+ def test_rgb
+ assert_raise(ArgumentError) { @item.rgb = -1 }
+ assert_nothing_raised { @item.rgb = "FF00FF00" }
+ assert_equal(@item.rgb, "FF00FF00" )
+ end
+
+ def test_tint
+ assert_raise(ArgumentError) { @item.tint = -1 }
+ assert_nothing_raised { @item.tint = -1.0 }
+ assert_equal(@item.tint, -1.0 )
+ end
+
+
+end
diff --git a/test/stylesheet/tc_fill.rb b/test/stylesheet/tc_fill.rb
new file mode 100644
index 00000000..090a395b
--- /dev/null
+++ b/test/stylesheet/tc_fill.rb
@@ -0,0 +1,19 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestFill < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::Fill.new Axlsx::PatternFill.new
+ end
+
+ def teardown
+ end
+
+ def test_initialiation
+ assert(@item.fill_type.is_a?(Axlsx::PatternFill))
+ assert_raise(ArgumentError) { Axlsx::Fill.new }
+ assert_nothing_raised { Axlsx::Fill.new(Axlsx::GradientFill.new) }
+ end
+
+end
diff --git a/test/stylesheet/tc_font.rb b/test/stylesheet/tc_font.rb
new file mode 100644
index 00000000..f4b18776
--- /dev/null
+++ b/test/stylesheet/tc_font.rb
@@ -0,0 +1,114 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestFont < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::Font.new
+ end
+
+ def teardown
+ end
+
+
+ def test_initialiation
+ assert_equal(@item.name, nil)
+ assert_equal(@item.charset, nil)
+ assert_equal(@item.family, nil)
+ assert_equal(@item.b, nil)
+ assert_equal(@item.i, nil)
+ assert_equal(@item.strike, nil)
+ assert_equal(@item.outline, nil)
+ assert_equal(@item.shadow, nil)
+ assert_equal(@item.condense, nil)
+ assert_equal(@item.extend, nil)
+ assert_equal(@item.color, nil)
+ assert_equal(@item.sz, nil)
+ end
+
+
+
+ # def name=(v) Axlsx::validate_string v; @name = v end
+ def test_name
+ assert_raise(ArgumentError) { @item.name = 7 }
+ assert_nothing_raised { @item.name = "bob" }
+ assert_equal(@item.name, "bob")
+ end
+ # def charset=(v) Axlsx::validate_unsigned_int v; @charset = v end
+ def test_charset
+ assert_raise(ArgumentError) { @item.charset = -7 }
+ assert_nothing_raised { @item.charset = 5 }
+ assert_equal(@item.charset, 5)
+ end
+
+ # def family=(v) Axlsx::validate_unsigned_int v; @family = v end
+ def test_family
+ assert_raise(ArgumentError) { @item.family = -7 }
+ assert_nothing_raised { @item.family = 5 }
+ assert_equal(@item.family, 5)
+ end
+
+ # def b=(v) Axlsx::validate_boolean v; @b = v end
+ def test_b
+ assert_raise(ArgumentError) { @item.b = -7 }
+ assert_nothing_raised { @item.b = true }
+ assert_equal(@item.b, true)
+ end
+
+ # def i=(v) Axlsx::validate_boolean v; @i = v end
+ def test_i
+ assert_raise(ArgumentError) { @item.i = -7 }
+ assert_nothing_raised { @item.i = true }
+ assert_equal(@item.i, true)
+ end
+
+ # def strike=(v) Axlsx::validate_boolean v; @strike = v end
+ def test_strike
+ assert_raise(ArgumentError) { @item.strike = -7 }
+ assert_nothing_raised { @item.strike = true }
+ assert_equal(@item.strike, true)
+ end
+
+ # def outline=(v) Axlsx::validate_boolean v; @outline = v end
+ def test_outline
+ assert_raise(ArgumentError) { @item.outline = -7 }
+ assert_nothing_raised { @item.outline = true }
+ assert_equal(@item.outline, true)
+ end
+
+ # def shadow=(v) Axlsx::validate_boolean v; @shadow = v end
+ def test_shadow
+ assert_raise(ArgumentError) { @item.shadow = -7 }
+ assert_nothing_raised { @item.shadow = true }
+ assert_equal(@item.shadow, true)
+ end
+
+ # def condense=(v) Axlsx::validate_boolean v; @condense = v end
+ def test_condense
+ assert_raise(ArgumentError) { @item.condense = -7 }
+ assert_nothing_raised { @item.condense = true }
+ assert_equal(@item.condense, true)
+ end
+
+ # def extend=(v) Axlsx::validate_boolean v; @extend = v end
+ def test_extend
+ assert_raise(ArgumentError) { @item.extend = -7 }
+ assert_nothing_raised { @item.extend = true }
+ assert_equal(@item.extend, true)
+ end
+
+ # def color=(v) DataTypeValidator.validate "Font.color", Color, v; @color=v end
+ def test_color
+ assert_raise(ArgumentError) { @item.color = -7 }
+ assert_nothing_raised { @item.color = Axlsx::Color.new(:rgb=>"00000000") }
+ assert(@item.color.is_a?(Axlsx::Color))
+ end
+
+ # def sz=(v) Axlsx::validate_unsigned_int v; @sz=v end
+ def test_sz
+ assert_raise(ArgumentError) { @item.sz = -7 }
+ assert_nothing_raised { @item.sz = 5 }
+ assert_equal(@item.sz, 5)
+ end
+
+end
diff --git a/test/stylesheet/tc_gradient_fill.rb b/test/stylesheet/tc_gradient_fill.rb
new file mode 100644
index 00000000..f5c87771
--- /dev/null
+++ b/test/stylesheet/tc_gradient_fill.rb
@@ -0,0 +1,65 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestGradientFill < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::GradientFill.new
+ end
+
+ def teardown
+ end
+
+
+ def test_initialiation
+ assert_equal(@item.type, :linear)
+ assert_equal(@item.degree, nil)
+ assert_equal(@item.left, nil)
+ assert_equal(@item.right, nil)
+ assert_equal(@item.top, nil)
+ assert_equal(@item.bottom, nil)
+ assert(@item.stop.is_a?(Axlsx::SimpleTypedList))
+ end
+
+ def test_type
+ assert_raise(ArgumentError) { @item.type = 7 }
+ assert_nothing_raised { @item.type = :path }
+ assert_equal(@item.type, :path)
+ end
+
+ def test_degree
+ assert_raise(ArgumentError) { @item.degree = -7 }
+ assert_nothing_raised { @item.degree = 5.0 }
+ assert_equal(@item.degree, 5.0)
+ end
+
+ def test_left
+ assert_raise(ArgumentError) { @item.left = -1.1 }
+ assert_nothing_raised { @item.left = 1.0 }
+ assert_equal(@item.left, 1.0)
+ end
+
+ def test_right
+ assert_raise(ArgumentError) { @item.right = -1.1 }
+ assert_nothing_raised { @item.right = 0.5 }
+ assert_equal(@item.right, 0.5)
+ end
+
+ def test_top
+ assert_raise(ArgumentError) { @item.top = -1.1 }
+ assert_nothing_raised { @item.top = 1.0 }
+ assert_equal(@item.top, 1.0)
+ end
+
+ def test_bottom
+ assert_raise(ArgumentError) { @item.bottom = -1.1 }
+ assert_nothing_raised { @item.bottom = 0.0 }
+ assert_equal(@item.bottom, 0.0)
+ end
+
+ def test_stop
+ @item.stop << Axlsx::GradientStop.new(Axlsx::Color.new(:rgb=>"00000000"), 0.5)
+ assert(@item.stop.size == 1)
+ assert(@item.stop.last.is_a?(Axlsx::GradientStop))
+ end
+end
diff --git a/test/stylesheet/tc_gradient_stop.rb b/test/stylesheet/tc_gradient_stop.rb
new file mode 100644
index 00000000..d7735231
--- /dev/null
+++ b/test/stylesheet/tc_gradient_stop.rb
@@ -0,0 +1,32 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestGradientStop < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::GradientStop.new(Axlsx::Color.new(:rgb=>"FFFF0000"), 1.0)
+ end
+
+ def teardown
+ end
+
+
+ def test_initialiation
+ assert_equal(@item.color.rgb, "FFFF0000")
+ assert_equal(@item.position, 1.0)
+ end
+
+ def test_position
+ assert_raise(ArgumentError) { @item.position = -1.1 }
+ assert_nothing_raised { @item.position = 0.0 }
+ assert_equal(@item.position, 0.0)
+ end
+
+ def test_color
+ assert_raise(ArgumentError) { @item.color = nil }
+ color = Axlsx::Color.new(:rgb=>"FF0000FF")
+ @item.color = color
+ assert_equal(@item.color.rgb, "FF0000FF")
+ end
+
+end
diff --git a/test/stylesheet/tc_num_fmt.rb b/test/stylesheet/tc_num_fmt.rb
new file mode 100644
index 00000000..281773ce
--- /dev/null
+++ b/test/stylesheet/tc_num_fmt.rb
@@ -0,0 +1,31 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestNumFmt < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::NumFmt.new
+ end
+
+ def teardown
+ end
+
+
+ def test_initialiation
+ assert_equal(@item.numFmtId, 0)
+ assert_equal(@item.formatCode, "")
+ end
+
+ def test_numFmtId
+ assert_raise(ArgumentError) { @item.numFmtId = -1.1 }
+ assert_nothing_raised { @item.numFmtId = 2 }
+ assert_equal(@item.numFmtId, 2)
+ end
+
+ def test_fomatCode
+ assert_raise(ArgumentError) { @item.formatCode = -1.1 }
+ assert_nothing_raised { @item.formatCode = "0" }
+ assert_equal(@item.formatCode, "0")
+ end
+
+end
diff --git a/test/stylesheet/tc_pattern_fill.rb b/test/stylesheet/tc_pattern_fill.rb
new file mode 100644
index 00000000..a9b6a113
--- /dev/null
+++ b/test/stylesheet/tc_pattern_fill.rb
@@ -0,0 +1,38 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestPatternFill < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::PatternFill.new
+ end
+
+ def teardown
+ end
+
+
+ def test_initialiation
+ assert_equal(@item.patternType, :none)
+ assert_equal(@item.bgColor, nil)
+ assert_equal(@item.fgColor, nil)
+ end
+
+ def test_bgColor
+ assert_raise(ArgumentError) { @item.bgColor = -1.1 }
+ assert_nothing_raised { @item.bgColor = Axlsx::Color.new }
+ assert_equal(@item.bgColor.rgb, "FF000000")
+ end
+
+ def test_fgColor
+ assert_raise(ArgumentError) { @item.fgColor = -1.1 }
+ assert_nothing_raised { @item.fgColor = Axlsx::Color.new }
+ assert_equal(@item.fgColor.rgb, "FF000000")
+ end
+
+ def test_pattern_type
+ assert_raise(ArgumentError) { @item.patternType = -1.1 }
+ assert_nothing_raised { @item.patternType = :lightUp }
+ assert_equal(@item.patternType, :lightUp)
+ end
+
+end
diff --git a/test/stylesheet/tc_styles.rb b/test/stylesheet/tc_styles.rb
new file mode 100644
index 00000000..0c9b3fba
--- /dev/null
+++ b/test/stylesheet/tc_styles.rb
@@ -0,0 +1,64 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestStyles < Test::Unit::TestCase
+ def setup
+ @styles = Axlsx::Styles.new
+ end
+ def teardown
+ end
+
+ def test_valid_document
+ schema = Nokogiri::XML::Schema(File.open(Axlsx::SML_XSD))
+ doc = Nokogiri::XML(@styles.to_xml)
+ errors = []
+ schema.validate(doc).each do |error|
+ errors.push error
+ puts error.message
+ end
+ assert(errors.size == 0)
+ end
+
+
+ def test_add_style
+ fill_count = @styles.fills.size
+ font_count = @styles.fonts.size
+ xf_count = @styles.cellXfs.size
+
+ @styles.add_style :bg_color=>"FF000000", :fg_color=>"FFFFFFFF", :sz=>13, :num_fmt=>Axlsx::NUM_FMT_PERCENT, :alignment=>{:horizontal=>:left}, :border=>Axlsx::STYLE_THIN_BORDER, :hidden=>true, :locked=>true
+ assert_equal(@styles.fills.size, fill_count+1)
+ assert_equal(@styles.fonts.size, font_count+1)
+ assert_equal(@styles.cellXfs.size, xf_count+1)
+ xf = @styles.cellXfs.last
+ assert_equal(xf.fillId, (@styles.fills.size-1), "points to the last created fill")
+ assert_equal(@styles.fills.last.fill_type.fgColor.rgb, "FF000000", "fill created with color")
+
+ assert_equal(xf.fontId, (@styles.fonts.size-1), "points to the last created font")
+ assert_equal(@styles.fonts.last.sz, 13, "font sz applied")
+ assert_equal(@styles.fonts.last.color.rgb, "FFFFFFFF", "font color applied")
+
+ assert_equal(xf.borderId, Axlsx::STYLE_THIN_BORDER, "border id is set")
+ assert_equal(xf.numFmtId, Axlsx::NUM_FMT_PERCENT, "number format id is set")
+
+ assert(xf.alignment.is_a?(Axlsx::CellAlignment), "alignment was created")
+ assert_equal(xf.alignment.horizontal, :left, "horizontal alignment applied")
+ assert_equal(xf.applyProtection, 1, "protection applied")
+ assert_equal(xf.protection.hidden, true, "hidden protection set")
+ assert_equal(xf.protection.locked, true, "cell locking set")
+ assert_raise(ArgumentError, "should reject invalid borderId") { @styles.add_style :border => 2 }
+
+ end
+
+
+ #:numFmts, :fonts, :fills, :borders, :cellStyleXfs, :cellXfs, :dxfs, :tableStyles
+ def test_ensure_locking
+ assert_equal(@styles.numFmts.locked_at, 2, "numFmts should be locked at 2")
+ assert_equal(@styles.fonts.locked_at, 1, "fonts should be locked at 1" )
+ assert_equal(@styles.fills.locked_at, 2, "fills should be locked at 2" )
+ assert_equal(@styles.borders.locked_at, 2, "borders should be locked at two" )
+ assert_equal(@styles.cellStyleXfs.locked_at, 1, "cellStyleXfs should be locked at two" )
+ assert_equal(@styles.cellXfs.locked_at, 2, "cellXfs should be locked at 2" )
+ assert_equal(@styles.dxfs.locked_at, 0, "dxfs should be locked at 0" )
+ assert_equal(@styles.tableStyles.locked_at, 0, "tableStyles should be locked at 0" )
+ end
+end
diff --git a/test/stylesheet/tc_table_style.rb b/test/stylesheet/tc_table_style.rb
new file mode 100644
index 00000000..54bebb5b
--- /dev/null
+++ b/test/stylesheet/tc_table_style.rb
@@ -0,0 +1,37 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestTableStyle < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::TableStyle.new "fisher"
+ end
+
+ def teardown
+ end
+
+ def test_initialiation
+ assert_equal(@item.name, "fisher")
+ assert_equal(@item.pivot, nil)
+ assert_equal(@item.table, nil)
+ end
+
+ def test_name
+ assert_raise(ArgumentError) { @item.name = -1.1 }
+ assert_nothing_raised { @item.name = "lovely table style" }
+ assert_equal(@item.name, "lovely table style")
+ end
+
+ def test_pivot
+ assert_raise(ArgumentError) { @item.pivot = -1.1 }
+ assert_nothing_raised { @item.pivot = true }
+ assert_equal(@item.pivot, true)
+ end
+
+ def test_table
+ assert_raise(ArgumentError) { @item.table = -1.1 }
+ assert_nothing_raised { @item.table = true }
+ assert_equal(@item.table, true)
+ end
+
+end
diff --git a/test/stylesheet/tc_table_style_element.rb b/test/stylesheet/tc_table_style_element.rb
new file mode 100644
index 00000000..9cfa5204
--- /dev/null
+++ b/test/stylesheet/tc_table_style_element.rb
@@ -0,0 +1,37 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestTableStyleElement < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::TableStyleElement.new
+ end
+
+ def teardown
+ end
+
+ def test_initialiation
+ assert_equal(@item.type, nil)
+ assert_equal(@item.size, nil)
+ assert_equal(@item.dxfId, nil)
+ end
+
+ def test_type
+ assert_raise(ArgumentError) { @item.type = -1.1 }
+ assert_nothing_raised { @item.type = :blankRow }
+ assert_equal(@item.type, :blankRow)
+ end
+
+ def test_size
+ assert_raise(ArgumentError) { @item.size = -1.1 }
+ assert_nothing_raised { @item.size = 2 }
+ assert_equal(@item.size, 2)
+ end
+
+ def test_dxfId
+ assert_raise(ArgumentError) { @item.dxfId = -1.1 }
+ assert_nothing_raised { @item.dxfId = 7 }
+ assert_equal(@item.dxfId, 7)
+ end
+
+end
diff --git a/test/stylesheet/tc_table_styles.rb b/test/stylesheet/tc_table_styles.rb
new file mode 100644
index 00000000..825a18d8
--- /dev/null
+++ b/test/stylesheet/tc_table_styles.rb
@@ -0,0 +1,30 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestTableStyles < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::TableStyles.new
+ end
+
+ def teardown
+ end
+
+ def test_initialiation
+ assert_equal(@item.defaultTableStyle, "TableStyleMedium9")
+ assert_equal(@item.defaultPivotStyle, "PivotStyleLight16")
+ end
+
+ def test_defaultTableStyle
+ assert_raise(ArgumentError) { @item.defaultTableStyle = -1.1 }
+ assert_nothing_raised { @item.defaultTableStyle = "anyones guess" }
+ assert_equal(@item.defaultTableStyle, "anyones guess")
+ end
+
+ def test_defaultPivotStyle
+ assert_raise(ArgumentError) { @item.defaultPivotStyle = -1.1 }
+ assert_nothing_raised { @item.defaultPivotStyle = "anyones guess" }
+ assert_equal(@item.defaultPivotStyle, "anyones guess")
+ end
+
+end
diff --git a/test/stylesheet/tc_xf.rb b/test/stylesheet/tc_xf.rb
new file mode 100644
index 00000000..9ca53562
--- /dev/null
+++ b/test/stylesheet/tc_xf.rb
@@ -0,0 +1,121 @@
+require 'test/unit'
+require 'axlsx.rb'
+
+class TestXf < Test::Unit::TestCase
+
+ def setup
+ @item = Axlsx::Xf.new
+ end
+
+ def teardown
+ end
+
+ def test_initialiation
+ assert_equal(@item.alignment, nil)
+ assert_equal(@item.protection, nil)
+ assert_equal(@item.numFmtId, nil)
+ assert_equal(@item.fontId, nil)
+ assert_equal(@item.fillId, nil)
+ assert_equal(@item.borderId, nil)
+ assert_equal(@item.xfId, nil)
+ assert_equal(@item.quotePrefix, nil)
+ assert_equal(@item.pivotButton, nil)
+ assert_equal(@item.applyNumberFormat, nil)
+ assert_equal(@item.applyFont, nil)
+ assert_equal(@item.applyFill, nil)
+ assert_equal(@item.applyBorder, nil)
+ assert_equal(@item.applyAlignment, nil)
+ assert_equal(@item.applyProtection, nil)
+ end
+
+ def test_alignment
+ assert_raise(ArgumentError) { @item.alignment = -1.1 }
+ assert_nothing_raised { @item.alignment = Axlsx::CellAlignment.new }
+ assert(@item.alignment.is_a?(Axlsx::CellAlignment))
+ end
+
+ def test_protection
+ assert_raise(ArgumentError) { @item.protection = -1.1 }
+ assert_nothing_raised { @item.protection = Axlsx::CellProtection.new }
+ assert(@item.protection.is_a?(Axlsx::CellProtection))
+ end
+
+ def test_numFmtId
+ assert_raise(ArgumentError) { @item.numFmtId = -1.1 }
+ assert_nothing_raised { @item.numFmtId = 0 }
+ assert_equal(@item.numFmtId, 0)
+ end
+
+ def test_fillId
+ assert_raise(ArgumentError) { @item.fillId = -1.1 }
+ assert_nothing_raised { @item.fillId = 0 }
+ assert_equal(@item.fillId, 0)
+ end
+
+ def test_fontId
+ assert_raise(ArgumentError) { @item.fontId = -1.1 }
+ assert_nothing_raised { @item.fontId = 0 }
+ assert_equal(@item.fontId, 0)
+ end
+
+ def test_borderId
+ assert_raise(ArgumentError) { @item.borderId = -1.1 }
+ assert_nothing_raised { @item.borderId = 0 }
+ assert_equal(@item.borderId, 0)
+ end
+
+ def test_xfId
+ assert_raise(ArgumentError) { @item.xfId = -1.1 }
+ assert_nothing_raised { @item.xfId = 0 }
+ assert_equal(@item.xfId, 0)
+ end
+
+ def test_quotePrefix
+ assert_raise(ArgumentError) { @item.quotePrefix = -1.1 }
+ assert_nothing_raised { @item.quotePrefix = false }
+ assert_equal(@item.quotePrefix, false)
+ end
+
+ def test_pivotButton
+ assert_raise(ArgumentError) { @item.pivotButton = -1.1 }
+ assert_nothing_raised { @item.pivotButton = false }
+ assert_equal(@item.pivotButton, false)
+ end
+
+ def test_applyNumberFormat
+ assert_raise(ArgumentError) { @item.applyNumberFormat = -1.1 }
+ assert_nothing_raised { @item.applyNumberFormat = false }
+ assert_equal(@item.applyNumberFormat, false)
+ end
+
+ def test_applyFont
+ assert_raise(ArgumentError) { @item.applyFont = -1.1 }
+ assert_nothing_raised { @item.applyFont = false }
+ assert_equal(@item.applyFont, false)
+ end
+
+ def test_applyFill
+ assert_raise(ArgumentError) { @item.applyFill = -1.1 }
+ assert_nothing_raised { @item.applyFill = false }
+ assert_equal(@item.applyFill, false)
+ end
+
+ def test_applyBorder
+ assert_raise(ArgumentError) { @item.applyBorder = -1.1 }
+ assert_nothing_raised { @item.applyBorder = false }
+ assert_equal(@item.applyBorder, false)
+ end
+
+ def test_applyAlignment
+ assert_raise(ArgumentError) { @item.applyAlignment = -1.1 }
+ assert_nothing_raised { @item.applyAlignment = false }
+ assert_equal(@item.applyAlignment, false)
+ end
+
+ def test_applyProtection
+ assert_raise(ArgumentError) { @item.applyProtection = -1.1 }
+ assert_nothing_raised { @item.applyProtection = false }
+ assert_equal(@item.applyProtection, false)
+ end
+
+end