caxlsx 3.1.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +354 -343
  5. data/LICENSE +21 -21
  6. data/README.md +168 -172
  7. data/Rakefile +29 -29
  8. data/examples/generate.rb +15 -15
  9. data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
  10. data/lib/axlsx/content_type/content_type.rb +26 -26
  11. data/lib/axlsx/content_type/default.rb +25 -25
  12. data/lib/axlsx/content_type/override.rb +25 -25
  13. data/lib/axlsx/doc_props/app.rb +235 -235
  14. data/lib/axlsx/doc_props/core.rb +39 -39
  15. data/lib/axlsx/drawing/area_chart.rb +99 -99
  16. data/lib/axlsx/drawing/area_series.rb +110 -110
  17. data/lib/axlsx/drawing/ax_data_source.rb +26 -26
  18. data/lib/axlsx/drawing/axes.rb +61 -61
  19. data/lib/axlsx/drawing/axis.rb +190 -190
  20. data/lib/axlsx/drawing/bar_3D_chart.rb +148 -148
  21. data/lib/axlsx/drawing/bar_chart.rb +138 -138
  22. data/lib/axlsx/drawing/bar_series.rb +97 -97
  23. data/lib/axlsx/drawing/bubble_chart.rb +59 -59
  24. data/lib/axlsx/drawing/bubble_series.rb +63 -63
  25. data/lib/axlsx/drawing/cat_axis.rb +85 -85
  26. data/lib/axlsx/drawing/chart.rb +276 -276
  27. data/lib/axlsx/drawing/d_lbls.rb +90 -90
  28. data/lib/axlsx/drawing/drawing.rb +167 -167
  29. data/lib/axlsx/drawing/graphic_frame.rb +54 -54
  30. data/lib/axlsx/drawing/hyperlink.rb +100 -100
  31. data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
  32. data/lib/axlsx/drawing/line_chart.rb +99 -99
  33. data/lib/axlsx/drawing/line_series.rb +110 -110
  34. data/lib/axlsx/drawing/marker.rb +84 -84
  35. data/lib/axlsx/drawing/num_data.rb +52 -52
  36. data/lib/axlsx/drawing/num_data_source.rb +62 -62
  37. data/lib/axlsx/drawing/num_val.rb +34 -34
  38. data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
  39. data/lib/axlsx/drawing/pic.rb +211 -211
  40. data/lib/axlsx/drawing/picture_locking.rb +42 -42
  41. data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
  42. data/lib/axlsx/drawing/pie_series.rb +74 -74
  43. data/lib/axlsx/drawing/scaling.rb +60 -60
  44. data/lib/axlsx/drawing/scatter_chart.rb +74 -74
  45. data/lib/axlsx/drawing/scatter_series.rb +129 -98
  46. data/lib/axlsx/drawing/ser_axis.rb +45 -45
  47. data/lib/axlsx/drawing/series.rb +69 -69
  48. data/lib/axlsx/drawing/series_title.rb +25 -25
  49. data/lib/axlsx/drawing/str_data.rb +42 -42
  50. data/lib/axlsx/drawing/str_val.rb +34 -34
  51. data/lib/axlsx/drawing/title.rb +97 -97
  52. data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
  53. data/lib/axlsx/drawing/val_axis.rb +37 -37
  54. data/lib/axlsx/drawing/view_3D.rb +115 -115
  55. data/lib/axlsx/drawing/vml_drawing.rb +42 -42
  56. data/lib/axlsx/drawing/vml_shape.rb +66 -66
  57. data/lib/axlsx/package.rb +388 -388
  58. data/lib/axlsx/rels/relationship.rb +130 -130
  59. data/lib/axlsx/rels/relationships.rb +32 -32
  60. data/lib/axlsx/stylesheet/border.rb +73 -71
  61. data/lib/axlsx/stylesheet/border_pr.rb +71 -71
  62. data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
  63. data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
  64. data/lib/axlsx/stylesheet/cell_style.rb +72 -72
  65. data/lib/axlsx/stylesheet/color.rb +76 -76
  66. data/lib/axlsx/stylesheet/dxf.rb +79 -79
  67. data/lib/axlsx/stylesheet/fill.rb +35 -35
  68. data/lib/axlsx/stylesheet/font.rb +156 -156
  69. data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
  70. data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
  71. data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
  72. data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
  73. data/lib/axlsx/stylesheet/styles.rb +494 -420
  74. data/lib/axlsx/stylesheet/table_style.rb +54 -54
  75. data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
  76. data/lib/axlsx/stylesheet/table_styles.rb +46 -46
  77. data/lib/axlsx/stylesheet/xf.rb +147 -147
  78. data/lib/axlsx/util/accessors.rb +64 -64
  79. data/lib/axlsx/util/constants.rb +410 -401
  80. data/lib/axlsx/util/mime_type_utils.rb +11 -11
  81. data/lib/axlsx/util/options_parser.rb +16 -16
  82. data/lib/axlsx/util/serialized_attributes.rb +89 -89
  83. data/lib/axlsx/util/simple_typed_list.rb +179 -179
  84. data/lib/axlsx/util/storage.rb +146 -146
  85. data/lib/axlsx/util/validators.rb +312 -312
  86. data/lib/axlsx/util/zip_command.rb +73 -73
  87. data/lib/axlsx/version.rb +5 -5
  88. data/lib/axlsx/workbook/defined_name.rb +128 -128
  89. data/lib/axlsx/workbook/defined_names.rb +21 -21
  90. data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
  91. data/lib/axlsx/workbook/workbook.rb +395 -370
  92. data/lib/axlsx/workbook/workbook_view.rb +80 -80
  93. data/lib/axlsx/workbook/workbook_views.rb +22 -22
  94. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
  95. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
  96. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
  97. data/lib/axlsx/workbook/worksheet/break.rb +35 -35
  98. data/lib/axlsx/workbook/worksheet/cell.rb +506 -505
  99. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
  100. data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
  101. data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
  102. data/lib/axlsx/workbook/worksheet/col.rb +145 -145
  103. data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
  104. data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
  105. data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
  106. data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
  107. data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
  108. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
  109. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
  110. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
  111. data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
  112. data/lib/axlsx/workbook/worksheet/data_validation.rb +246 -246
  113. data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
  114. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
  115. data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
  116. data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
  117. data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
  118. data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
  119. data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
  120. data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
  121. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
  122. data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
  123. data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
  124. data/lib/axlsx/workbook/worksheet/pivot_table.rb +296 -294
  125. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
  126. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
  127. data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
  128. data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
  129. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
  130. data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
  131. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
  132. data/lib/axlsx/workbook/worksheet/row.rb +164 -164
  133. data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
  134. data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
  135. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
  136. data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
  137. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
  138. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
  139. data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
  140. data/lib/axlsx/workbook/worksheet/table.rb +102 -102
  141. data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
  142. data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
  143. data/lib/axlsx/workbook/worksheet/worksheet.rb +786 -768
  144. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
  145. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
  146. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
  147. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
  148. data/lib/axlsx.rb +185 -171
  149. data/lib/caxlsx.rb +2 -2
  150. data/lib/schema/dc.xsd +118 -118
  151. data/lib/schema/dcmitype.xsd +51 -51
  152. data/lib/schema/dcterms.xsd +331 -331
  153. data/lib/schema/dml-chartDrawing.xsd +146 -146
  154. data/lib/schema/dml-compatibility.xsd +14 -14
  155. data/lib/schema/dml-lockedCanvas.xsd +11 -11
  156. data/lib/schema/dml-main.xsd +3048 -3048
  157. data/lib/schema/dml-picture.xsd +23 -23
  158. data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
  159. data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
  160. data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
  161. data/lib/schema/shared-bibliography.xsd +144 -144
  162. data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
  163. data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
  164. data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
  165. data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
  166. data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
  167. data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
  168. data/lib/schema/shared-relationshipReference.xsd +25 -25
  169. data/lib/schema/vml-main.xsd +569 -569
  170. data/lib/schema/vml-officeDrawing.xsd +509 -509
  171. data/lib/schema/vml-presentationDrawing.xsd +12 -12
  172. data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
  173. data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
  174. data/lib/schema/xml.xsd +116 -116
  175. data/test/benchmark.rb +72 -72
  176. data/test/content_type/tc_content_type.rb +76 -76
  177. data/test/content_type/tc_default.rb +16 -16
  178. data/test/content_type/tc_override.rb +14 -14
  179. data/test/doc_props/tc_app.rb +43 -43
  180. data/test/doc_props/tc_core.rb +42 -42
  181. data/test/drawing/tc_area_chart.rb +39 -39
  182. data/test/drawing/tc_area_series.rb +71 -71
  183. data/test/drawing/tc_axes.rb +7 -7
  184. data/test/drawing/tc_axis.rb +112 -112
  185. data/test/drawing/tc_bar_3D_chart.rb +86 -86
  186. data/test/drawing/tc_bar_chart.rb +86 -86
  187. data/test/drawing/tc_bar_series.rb +46 -46
  188. data/test/drawing/tc_bubble_chart.rb +44 -44
  189. data/test/drawing/tc_bubble_series.rb +21 -21
  190. data/test/drawing/tc_cat_axis.rb +31 -31
  191. data/test/drawing/tc_cat_axis_data.rb +27 -27
  192. data/test/drawing/tc_chart.rb +123 -123
  193. data/test/drawing/tc_d_lbls.rb +57 -57
  194. data/test/drawing/tc_data_source.rb +23 -23
  195. data/test/drawing/tc_drawing.rb +80 -80
  196. data/test/drawing/tc_graphic_frame.rb +27 -27
  197. data/test/drawing/tc_hyperlink.rb +64 -64
  198. data/test/drawing/tc_line_3d_chart.rb +47 -47
  199. data/test/drawing/tc_line_chart.rb +39 -39
  200. data/test/drawing/tc_line_series.rb +71 -71
  201. data/test/drawing/tc_marker.rb +44 -44
  202. data/test/drawing/tc_named_axis_data.rb +27 -27
  203. data/test/drawing/tc_num_data.rb +31 -31
  204. data/test/drawing/tc_num_val.rb +29 -29
  205. data/test/drawing/tc_one_cell_anchor.rb +66 -66
  206. data/test/drawing/tc_pic.rb +103 -103
  207. data/test/drawing/tc_picture_locking.rb +72 -72
  208. data/test/drawing/tc_pie_3D_chart.rb +28 -28
  209. data/test/drawing/tc_pie_series.rb +33 -33
  210. data/test/drawing/tc_scaling.rb +36 -36
  211. data/test/drawing/tc_scatter_chart.rb +48 -48
  212. data/test/drawing/tc_scatter_series.rb +74 -56
  213. data/test/drawing/tc_ser_axis.rb +31 -31
  214. data/test/drawing/tc_series.rb +23 -23
  215. data/test/drawing/tc_series_title.rb +54 -54
  216. data/test/drawing/tc_str_data.rb +18 -18
  217. data/test/drawing/tc_str_val.rb +30 -30
  218. data/test/drawing/tc_title.rb +70 -70
  219. data/test/drawing/tc_two_cell_anchor.rb +36 -36
  220. data/test/drawing/tc_val_axis.rb +24 -24
  221. data/test/drawing/tc_view_3D.rb +54 -54
  222. data/test/drawing/tc_vml_drawing.rb +25 -25
  223. data/test/drawing/tc_vml_shape.rb +106 -106
  224. data/test/profile.rb +24 -24
  225. data/test/rels/tc_relationship.rb +52 -52
  226. data/test/rels/tc_relationships.rb +37 -37
  227. data/test/stylesheet/tc_border.rb +37 -37
  228. data/test/stylesheet/tc_border_pr.rb +32 -32
  229. data/test/stylesheet/tc_cell_alignment.rb +81 -81
  230. data/test/stylesheet/tc_cell_protection.rb +29 -29
  231. data/test/stylesheet/tc_cell_style.rb +57 -57
  232. data/test/stylesheet/tc_color.rb +43 -43
  233. data/test/stylesheet/tc_dxf.rb +81 -81
  234. data/test/stylesheet/tc_fill.rb +18 -18
  235. data/test/stylesheet/tc_font.rb +133 -133
  236. data/test/stylesheet/tc_gradient_fill.rb +72 -72
  237. data/test/stylesheet/tc_gradient_stop.rb +31 -31
  238. data/test/stylesheet/tc_num_fmt.rb +30 -30
  239. data/test/stylesheet/tc_pattern_fill.rb +43 -43
  240. data/test/stylesheet/tc_styles.rb +309 -261
  241. data/test/stylesheet/tc_table_style.rb +44 -44
  242. data/test/stylesheet/tc_table_style_element.rb +45 -45
  243. data/test/stylesheet/tc_table_styles.rb +29 -29
  244. data/test/stylesheet/tc_xf.rb +120 -120
  245. data/test/tc_axlsx.rb +109 -109
  246. data/test/tc_helper.rb +10 -10
  247. data/test/tc_package.rb +317 -314
  248. data/test/util/tc_mime_type_utils.rb +13 -13
  249. data/test/util/tc_serialized_attributes.rb +19 -19
  250. data/test/util/tc_simple_typed_list.rb +77 -77
  251. data/test/util/tc_validators.rb +210 -210
  252. data/test/workbook/tc_defined_name.rb +49 -49
  253. data/test/workbook/tc_shared_strings_table.rb +59 -59
  254. data/test/workbook/tc_workbook.rb +165 -160
  255. data/test/workbook/tc_workbook_view.rb +50 -50
  256. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -38
  257. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -76
  258. data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -50
  259. data/test/workbook/worksheet/tc_break.rb +49 -49
  260. data/test/workbook/worksheet/tc_cell.rb +465 -453
  261. data/test/workbook/worksheet/tc_cfvo.rb +31 -31
  262. data/test/workbook/worksheet/tc_col.rb +93 -93
  263. data/test/workbook/worksheet/tc_color_scale.rb +58 -58
  264. data/test/workbook/worksheet/tc_comment.rb +72 -72
  265. data/test/workbook/worksheet/tc_comments.rb +57 -57
  266. data/test/workbook/worksheet/tc_conditional_formatting.rb +224 -224
  267. data/test/workbook/worksheet/tc_data_bar.rb +46 -46
  268. data/test/workbook/worksheet/tc_data_validation.rb +265 -265
  269. data/test/workbook/worksheet/tc_date_time_converter.rb +124 -124
  270. data/test/workbook/worksheet/tc_header_footer.rb +151 -151
  271. data/test/workbook/worksheet/tc_icon_set.rb +45 -45
  272. data/test/workbook/worksheet/tc_outline_pr.rb +19 -19
  273. data/test/workbook/worksheet/tc_page_margins.rb +97 -97
  274. data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -15
  275. data/test/workbook/worksheet/tc_page_setup.rb +143 -143
  276. data/test/workbook/worksheet/tc_pane.rb +54 -54
  277. data/test/workbook/worksheet/tc_pivot_table.rb +180 -143
  278. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -62
  279. data/test/workbook/worksheet/tc_print_options.rb +72 -72
  280. data/test/workbook/worksheet/tc_protected_range.rb +17 -17
  281. data/test/workbook/worksheet/tc_rich_text.rb +44 -44
  282. data/test/workbook/worksheet/tc_rich_text_run.rb +173 -173
  283. data/test/workbook/worksheet/tc_row.rb +160 -160
  284. data/test/workbook/worksheet/tc_selection.rb +55 -55
  285. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -18
  286. data/test/workbook/worksheet/tc_sheet_format_pr.rb +88 -88
  287. data/test/workbook/worksheet/tc_sheet_pr.rb +49 -49
  288. data/test/workbook/worksheet/tc_sheet_protection.rb +117 -117
  289. data/test/workbook/worksheet/tc_sheet_view.rb +214 -214
  290. data/test/workbook/worksheet/tc_table.rb +77 -77
  291. data/test/workbook/worksheet/tc_table_style_info.rb +53 -53
  292. data/test/workbook/worksheet/tc_worksheet.rb +632 -601
  293. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +55 -55
  294. metadata +101 -101
@@ -1,86 +1,86 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestBar3DChart < Test::Unit::TestCase
4
-
5
- def setup
6
- @p = Axlsx::Package.new
7
- ws = @p.workbook.add_worksheet
8
- @row = ws.add_row ["one", 1, Time.now]
9
- @chart = ws.add_chart Axlsx::Bar3DChart, :title => "fishery"
10
- end
11
-
12
- def teardown
13
- end
14
-
15
- def test_initialization
16
- assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
17
- assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
18
- assert_equal(@chart.bar_dir, :bar, " bar direction incorrect")
19
- assert(@chart.cat_axis.is_a?(Axlsx::CatAxis), "category axis not created")
20
- assert(@chart.val_axis.is_a?(Axlsx::ValAxis), "value access not created")
21
- end
22
-
23
- def test_bar_direction
24
- assert_raise(ArgumentError, "require valid bar direction") { @chart.bar_dir = :left }
25
- assert_nothing_raised("allow valid bar direction") { @chart.bar_dir = :col }
26
- assert(@chart.bar_dir == :col)
27
- end
28
-
29
- def test_grouping
30
- assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
31
- assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
32
- assert(@chart.grouping == :standard)
33
- end
34
-
35
- def test_gap_width
36
- assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = -1 }
37
- assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = 501 }
38
- assert_nothing_raised("allow valid gapWidth") { @chart.gap_width = 200 }
39
- assert_equal(@chart.gap_width, 200, 'gap width is incorrect')
40
- end
41
-
42
- def test_gap_depth
43
- assert_raise(ArgumentError, "require valid gap_depth") { @chart.gap_depth = -1 }
44
- assert_raise(ArgumentError, "require valid gap_depth") { @chart.gap_depth = 501 }
45
- assert_nothing_raised("allow valid gap_depth") { @chart.gap_depth = 200 }
46
- assert_equal(@chart.gap_depth, 200, 'gap depth is incorrect')
47
- end
48
-
49
- def test_shape
50
- assert_raise(ArgumentError, "require valid shape") { @chart.shape = :star }
51
- assert_nothing_raised("allow valid shape") { @chart.shape = :cone }
52
- assert(@chart.shape == :cone)
53
- end
54
-
55
- def test_to_xml_string
56
- schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
57
- doc = Nokogiri::XML(@chart.to_xml_string)
58
- errors = []
59
- schema.validate(doc).each do |error|
60
- errors.push error
61
- puts error.message
62
- end
63
- assert(errors.empty?, "error free validation")
64
- end
65
-
66
- def test_to_xml_string_has_axes_in_correct_order
67
- str = @chart.to_xml_string
68
- cat_axis_position = str.index(@chart.axes[:cat_axis].id.to_s)
69
- val_axis_position = str.index(@chart.axes[:val_axis].id.to_s)
70
- assert(cat_axis_position < val_axis_position, "cat_axis must occur earlier than val_axis in the XML")
71
- end
72
-
73
- def test_to_xml_string_has_gap_depth
74
- gap_depth_value = rand(0..500)
75
- @chart.gap_depth = gap_depth_value
76
- doc = Nokogiri::XML(@chart.to_xml_string)
77
- assert_equal(doc.xpath("//c:bar3DChart/c:gapDepth").first.attribute('val').value, gap_depth_value.to_s)
78
- end
79
-
80
- def test_to_xml_string_has_gap_width
81
- gap_width_value = rand(0..500)
82
- @chart.gap_width = gap_width_value
83
- doc = Nokogiri::XML(@chart.to_xml_string)
84
- assert_equal(doc.xpath("//c:bar3DChart/c:gapWidth").first.attribute('val').value, gap_width_value.to_s)
85
- end
86
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestBar3DChart < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @p = Axlsx::Package.new
7
+ ws = @p.workbook.add_worksheet
8
+ @row = ws.add_row ["one", 1, Time.now]
9
+ @chart = ws.add_chart Axlsx::Bar3DChart, :title => "fishery"
10
+ end
11
+
12
+ def teardown
13
+ end
14
+
15
+ def test_initialization
16
+ assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
17
+ assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
18
+ assert_equal(@chart.bar_dir, :bar, " bar direction incorrect")
19
+ assert(@chart.cat_axis.is_a?(Axlsx::CatAxis), "category axis not created")
20
+ assert(@chart.val_axis.is_a?(Axlsx::ValAxis), "value access not created")
21
+ end
22
+
23
+ def test_bar_direction
24
+ assert_raise(ArgumentError, "require valid bar direction") { @chart.bar_dir = :left }
25
+ assert_nothing_raised("allow valid bar direction") { @chart.bar_dir = :col }
26
+ assert(@chart.bar_dir == :col)
27
+ end
28
+
29
+ def test_grouping
30
+ assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
31
+ assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
32
+ assert(@chart.grouping == :standard)
33
+ end
34
+
35
+ def test_gap_width
36
+ assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = -1 }
37
+ assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = 501 }
38
+ assert_nothing_raised("allow valid gapWidth") { @chart.gap_width = 200 }
39
+ assert_equal(@chart.gap_width, 200, 'gap width is incorrect')
40
+ end
41
+
42
+ def test_gap_depth
43
+ assert_raise(ArgumentError, "require valid gap_depth") { @chart.gap_depth = -1 }
44
+ assert_raise(ArgumentError, "require valid gap_depth") { @chart.gap_depth = 501 }
45
+ assert_nothing_raised("allow valid gap_depth") { @chart.gap_depth = 200 }
46
+ assert_equal(@chart.gap_depth, 200, 'gap depth is incorrect')
47
+ end
48
+
49
+ def test_shape
50
+ assert_raise(ArgumentError, "require valid shape") { @chart.shape = :star }
51
+ assert_nothing_raised("allow valid shape") { @chart.shape = :cone }
52
+ assert(@chart.shape == :cone)
53
+ end
54
+
55
+ def test_to_xml_string
56
+ schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
57
+ doc = Nokogiri::XML(@chart.to_xml_string)
58
+ errors = []
59
+ schema.validate(doc).each do |error|
60
+ errors.push error
61
+ puts error.message
62
+ end
63
+ assert(errors.empty?, "error free validation")
64
+ end
65
+
66
+ def test_to_xml_string_has_axes_in_correct_order
67
+ str = @chart.to_xml_string
68
+ cat_axis_position = str.index(@chart.axes[:cat_axis].id.to_s)
69
+ val_axis_position = str.index(@chart.axes[:val_axis].id.to_s)
70
+ assert(cat_axis_position < val_axis_position, "cat_axis must occur earlier than val_axis in the XML")
71
+ end
72
+
73
+ def test_to_xml_string_has_gap_depth
74
+ gap_depth_value = rand(0..500)
75
+ @chart.gap_depth = gap_depth_value
76
+ doc = Nokogiri::XML(@chart.to_xml_string)
77
+ assert_equal(doc.xpath("//c:bar3DChart/c:gapDepth").first.attribute('val').value, gap_depth_value.to_s)
78
+ end
79
+
80
+ def test_to_xml_string_has_gap_width
81
+ gap_width_value = rand(0..500)
82
+ @chart.gap_width = gap_width_value
83
+ doc = Nokogiri::XML(@chart.to_xml_string)
84
+ assert_equal(doc.xpath("//c:bar3DChart/c:gapWidth").first.attribute('val').value, gap_width_value.to_s)
85
+ end
86
+ end
@@ -1,86 +1,86 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestBarChart < Test::Unit::TestCase
4
-
5
- def setup
6
- @p = Axlsx::Package.new
7
- ws = @p.workbook.add_worksheet
8
- @row = ws.add_row ["one", 1, Time.now]
9
- @chart = ws.add_chart Axlsx::BarChart, :title => "fishery"
10
- end
11
-
12
- def teardown
13
- end
14
-
15
- def test_initialization
16
- assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
17
- assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
18
- assert_equal(@chart.bar_dir, :bar, " bar direction incorrect")
19
- assert(@chart.cat_axis.is_a?(Axlsx::CatAxis), "category axis not created")
20
- assert(@chart.val_axis.is_a?(Axlsx::ValAxis), "value access not created")
21
- end
22
-
23
- def test_bar_direction
24
- assert_raise(ArgumentError, "require valid bar direction") { @chart.bar_dir = :left }
25
- assert_nothing_raised("allow valid bar direction") { @chart.bar_dir = :col }
26
- assert(@chart.bar_dir == :col)
27
- end
28
-
29
- def test_grouping
30
- assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
31
- assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
32
- assert(@chart.grouping == :standard)
33
- end
34
-
35
- def test_gap_width
36
- assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = -1 }
37
- assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = 501 }
38
- assert_nothing_raised("allow valid gap width") { @chart.gap_width = 200 }
39
- assert_equal(@chart.gap_width, 200, 'gap width is incorrect')
40
- end
41
-
42
- def test_overlap
43
- assert_raise(ArgumentError, "require valid overlap") { @chart.overlap = -101 }
44
- assert_raise(ArgumentError, "require valid overlap") { @chart.overlap = 101 }
45
- assert_nothing_raised("allow valid overlap") { @chart.overlap = 100 }
46
- assert_equal(@chart.overlap, 100, 'overlap is incorrect')
47
- end
48
-
49
- def test_shape
50
- assert_raise(ArgumentError, "require valid shape") { @chart.shape = :star }
51
- assert_nothing_raised("allow valid shape") { @chart.shape = :cone }
52
- assert(@chart.shape == :cone)
53
- end
54
-
55
- def test_to_xml_string
56
- schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
57
- doc = Nokogiri::XML(@chart.to_xml_string)
58
- errors = []
59
- schema.validate(doc).each do |error|
60
- errors.push error
61
- puts error.message
62
- end
63
- assert(errors.empty?, "error free validation")
64
- end
65
-
66
- def test_to_xml_string_has_axes_in_correct_order
67
- str = @chart.to_xml_string
68
- cat_axis_position = str.index(@chart.axes[:cat_axis].id.to_s)
69
- val_axis_position = str.index(@chart.axes[:val_axis].id.to_s)
70
- assert(cat_axis_position < val_axis_position, "cat_axis must occur earlier than val_axis in the XML")
71
- end
72
-
73
- def test_to_xml_string_has_gap_width
74
- gap_width_value = rand(0..500)
75
- @chart.gap_width = gap_width_value
76
- doc = Nokogiri::XML(@chart.to_xml_string)
77
- assert_equal(doc.xpath("//c:barChart/c:gapWidth").first.attribute('val').value, gap_width_value.to_s)
78
- end
79
-
80
- def test_to_xml_string_has_overlap
81
- overlap_value = rand(-100..100)
82
- @chart.overlap = overlap_value
83
- doc = Nokogiri::XML(@chart.to_xml_string)
84
- assert_equal(doc.xpath("//c:barChart/c:overlap").first.attribute('val').value, overlap_value.to_s)
85
- end
86
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestBarChart < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @p = Axlsx::Package.new
7
+ ws = @p.workbook.add_worksheet
8
+ @row = ws.add_row ["one", 1, Time.now]
9
+ @chart = ws.add_chart Axlsx::BarChart, :title => "fishery"
10
+ end
11
+
12
+ def teardown
13
+ end
14
+
15
+ def test_initialization
16
+ assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
17
+ assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
18
+ assert_equal(@chart.bar_dir, :bar, " bar direction incorrect")
19
+ assert(@chart.cat_axis.is_a?(Axlsx::CatAxis), "category axis not created")
20
+ assert(@chart.val_axis.is_a?(Axlsx::ValAxis), "value access not created")
21
+ end
22
+
23
+ def test_bar_direction
24
+ assert_raise(ArgumentError, "require valid bar direction") { @chart.bar_dir = :left }
25
+ assert_nothing_raised("allow valid bar direction") { @chart.bar_dir = :col }
26
+ assert(@chart.bar_dir == :col)
27
+ end
28
+
29
+ def test_grouping
30
+ assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
31
+ assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
32
+ assert(@chart.grouping == :standard)
33
+ end
34
+
35
+ def test_gap_width
36
+ assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = -1 }
37
+ assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = 501 }
38
+ assert_nothing_raised("allow valid gap width") { @chart.gap_width = 200 }
39
+ assert_equal(@chart.gap_width, 200, 'gap width is incorrect')
40
+ end
41
+
42
+ def test_overlap
43
+ assert_raise(ArgumentError, "require valid overlap") { @chart.overlap = -101 }
44
+ assert_raise(ArgumentError, "require valid overlap") { @chart.overlap = 101 }
45
+ assert_nothing_raised("allow valid overlap") { @chart.overlap = 100 }
46
+ assert_equal(@chart.overlap, 100, 'overlap is incorrect')
47
+ end
48
+
49
+ def test_shape
50
+ assert_raise(ArgumentError, "require valid shape") { @chart.shape = :star }
51
+ assert_nothing_raised("allow valid shape") { @chart.shape = :cone }
52
+ assert(@chart.shape == :cone)
53
+ end
54
+
55
+ def test_to_xml_string
56
+ schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
57
+ doc = Nokogiri::XML(@chart.to_xml_string)
58
+ errors = []
59
+ schema.validate(doc).each do |error|
60
+ errors.push error
61
+ puts error.message
62
+ end
63
+ assert(errors.empty?, "error free validation")
64
+ end
65
+
66
+ def test_to_xml_string_has_axes_in_correct_order
67
+ str = @chart.to_xml_string
68
+ cat_axis_position = str.index(@chart.axes[:cat_axis].id.to_s)
69
+ val_axis_position = str.index(@chart.axes[:val_axis].id.to_s)
70
+ assert(cat_axis_position < val_axis_position, "cat_axis must occur earlier than val_axis in the XML")
71
+ end
72
+
73
+ def test_to_xml_string_has_gap_width
74
+ gap_width_value = rand(0..500)
75
+ @chart.gap_width = gap_width_value
76
+ doc = Nokogiri::XML(@chart.to_xml_string)
77
+ assert_equal(doc.xpath("//c:barChart/c:gapWidth").first.attribute('val').value, gap_width_value.to_s)
78
+ end
79
+
80
+ def test_to_xml_string_has_overlap
81
+ overlap_value = rand(-100..100)
82
+ @chart.overlap = overlap_value
83
+ doc = Nokogiri::XML(@chart.to_xml_string)
84
+ assert_equal(doc.xpath("//c:barChart/c:overlap").first.attribute('val').value, overlap_value.to_s)
85
+ end
86
+ end
@@ -1,46 +1,46 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestBarSeries < Test::Unit::TestCase
4
-
5
- def setup
6
- p = Axlsx::Package.new
7
- @ws = p.workbook.add_worksheet :name=>"hmmm"
8
- @chart = @ws.add_chart Axlsx::Bar3DChart, :title => "fishery"
9
- @series = @chart.add_series(
10
- data: [0, 1, 2],
11
- labels: ['zero', 'one', 'two'],
12
- title: 'bob',
13
- colors: ['FF0000', '00FF00', '0000FF'],
14
- shape: :cone,
15
- series_color: '5A5A5A'
16
- )
17
- end
18
-
19
- def test_initialize
20
- assert_equal(@series.title.text, "bob", "series title has been applied")
21
- assert_equal(@series.data.class, Axlsx::NumDataSource, "data option applied")
22
- assert_equal(@series.shape, :cone, "series shape has been applied")
23
- assert_equal(@series.series_color, '5A5A5A', 'series color has been applied')
24
- assert(@series.data.is_a?(Axlsx::NumDataSource))
25
- assert(@series.labels.is_a?(Axlsx::AxDataSource))
26
- end
27
-
28
- def test_colors
29
- assert_equal(@series.colors.size, 3)
30
- end
31
-
32
- def test_shape
33
- assert_raise(ArgumentError, "require valid shape") { @series.shape = :teardropt }
34
- assert_nothing_raised("allow valid shape") { @series.shape = :box }
35
- assert(@series.shape == :box)
36
- end
37
-
38
- def test_to_xml_string
39
- doc = Nokogiri::XML(@chart.to_xml_string)
40
- @series.colors.each_with_index do |color, index|
41
- assert_equal(doc.xpath("//c:dPt/c:idx[@val='#{index}']").size,1)
42
- assert_equal(doc.xpath("//c:dPt/c:spPr/a:solidFill/a:srgbClr[@val='#{@series.colors[index]}']").size,1)
43
- end
44
- assert_equal(doc.xpath('//c:spPr[not(ancestor::c:dPt)]/a:solidFill/a:srgbClr').first.get_attribute('val'), '5A5A5A', 'series color has been applied')
45
- end
46
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestBarSeries < Test::Unit::TestCase
4
+
5
+ def setup
6
+ p = Axlsx::Package.new
7
+ @ws = p.workbook.add_worksheet :name=>"hmmm"
8
+ @chart = @ws.add_chart Axlsx::Bar3DChart, :title => "fishery"
9
+ @series = @chart.add_series(
10
+ data: [0, 1, 2],
11
+ labels: ['zero', 'one', 'two'],
12
+ title: 'bob',
13
+ colors: ['FF0000', '00FF00', '0000FF'],
14
+ shape: :cone,
15
+ series_color: '5A5A5A'
16
+ )
17
+ end
18
+
19
+ def test_initialize
20
+ assert_equal(@series.title.text, "bob", "series title has been applied")
21
+ assert_equal(@series.data.class, Axlsx::NumDataSource, "data option applied")
22
+ assert_equal(@series.shape, :cone, "series shape has been applied")
23
+ assert_equal(@series.series_color, '5A5A5A', 'series color has been applied')
24
+ assert(@series.data.is_a?(Axlsx::NumDataSource))
25
+ assert(@series.labels.is_a?(Axlsx::AxDataSource))
26
+ end
27
+
28
+ def test_colors
29
+ assert_equal(@series.colors.size, 3)
30
+ end
31
+
32
+ def test_shape
33
+ assert_raise(ArgumentError, "require valid shape") { @series.shape = :teardropt }
34
+ assert_nothing_raised("allow valid shape") { @series.shape = :box }
35
+ assert(@series.shape == :box)
36
+ end
37
+
38
+ def test_to_xml_string
39
+ doc = Nokogiri::XML(@chart.to_xml_string)
40
+ @series.colors.each_with_index do |color, index|
41
+ assert_equal(doc.xpath("//c:dPt/c:idx[@val='#{index}']").size,1)
42
+ assert_equal(doc.xpath("//c:dPt/c:spPr/a:solidFill/a:srgbClr[@val='#{@series.colors[index]}']").size,1)
43
+ end
44
+ assert_equal(doc.xpath('//c:spPr[not(ancestor::c:dPt)]/a:solidFill/a:srgbClr').first.get_attribute('val'), '5A5A5A', 'series color has been applied')
45
+ end
46
+ end
@@ -1,44 +1,44 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestBubbleChart < Test::Unit::TestCase
4
- def setup
5
- @p = Axlsx::Package.new
6
- @chart = nil
7
- @p.workbook.add_worksheet do |sheet|
8
- sheet.add_row ["First", 1, 5, 7, 9]
9
- sheet.add_row ["", 1, 25, 49, 81]
10
- sheet.add_row ["", 1, 42, 60, 75]
11
- sheet.add_row ["Second", 5, 2, 14, 9]
12
- sheet.add_row ["", 5, 10, 15, 20]
13
- sheet.add_row ["", 5, 28, 92, 13]
14
- sheet.add_chart(Axlsx::BubbleChart, :title => "example: Bubble Chart") do |chart|
15
- chart.start_at 0, 4
16
- chart.end_at 10, 19
17
- chart.add_series :xData => sheet["B1:E1"], :yData => sheet["B2:E2"], :bubbleSize => sheet["B3:E3"], :title => sheet["A1"]
18
- chart.add_series :xData => sheet["B4:E4"], :yData => sheet["B5:E5"], :bubbleSize => sheet["B6:E6"], :title => sheet["A3"]
19
- @chart = chart
20
- end
21
- end
22
- end
23
-
24
- def teardown
25
- end
26
-
27
- def test_initialization
28
- assert_equal(@chart.series_type, Axlsx::BubbleSeries, "series type incorrect")
29
- assert(@chart.xValAxis.is_a?(Axlsx::ValAxis), "independant value axis not created")
30
- assert(@chart.yValAxis.is_a?(Axlsx::ValAxis), "dependant value axis not created")
31
- end
32
-
33
- def test_to_xml_string
34
- schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
35
- doc = Nokogiri::XML(@chart.to_xml_string)
36
- errors = []
37
- schema.validate(doc).each do |error|
38
- errors.push error
39
- puts error.message
40
- end
41
- assert(errors.empty?, "error free validation")
42
- end
43
-
44
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestBubbleChart < Test::Unit::TestCase
4
+ def setup
5
+ @p = Axlsx::Package.new
6
+ @chart = nil
7
+ @p.workbook.add_worksheet do |sheet|
8
+ sheet.add_row ["First", 1, 5, 7, 9]
9
+ sheet.add_row ["", 1, 25, 49, 81]
10
+ sheet.add_row ["", 1, 42, 60, 75]
11
+ sheet.add_row ["Second", 5, 2, 14, 9]
12
+ sheet.add_row ["", 5, 10, 15, 20]
13
+ sheet.add_row ["", 5, 28, 92, 13]
14
+ sheet.add_chart(Axlsx::BubbleChart, :title => "example: Bubble Chart") do |chart|
15
+ chart.start_at 0, 4
16
+ chart.end_at 10, 19
17
+ chart.add_series :xData => sheet["B1:E1"], :yData => sheet["B2:E2"], :bubbleSize => sheet["B3:E3"], :title => sheet["A1"]
18
+ chart.add_series :xData => sheet["B4:E4"], :yData => sheet["B5:E5"], :bubbleSize => sheet["B6:E6"], :title => sheet["A3"]
19
+ @chart = chart
20
+ end
21
+ end
22
+ end
23
+
24
+ def teardown
25
+ end
26
+
27
+ def test_initialization
28
+ assert_equal(@chart.series_type, Axlsx::BubbleSeries, "series type incorrect")
29
+ assert(@chart.xValAxis.is_a?(Axlsx::ValAxis), "independant value axis not created")
30
+ assert(@chart.yValAxis.is_a?(Axlsx::ValAxis), "dependant value axis not created")
31
+ end
32
+
33
+ def test_to_xml_string
34
+ schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
35
+ doc = Nokogiri::XML(@chart.to_xml_string)
36
+ errors = []
37
+ schema.validate(doc).each do |error|
38
+ errors.push error
39
+ puts error.message
40
+ end
41
+ assert(errors.empty?, "error free validation")
42
+ end
43
+
44
+ end
@@ -1,21 +1,21 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestBubbleSeries < Test::Unit::TestCase
4
-
5
- def setup
6
- p = Axlsx::Package.new
7
- @ws = p.workbook.add_worksheet :name=>"hmmm"
8
- @chart = @ws.add_chart Axlsx::BubbleChart, :title => "Bubble Chart"
9
- @series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :bubbleSize=>[1,5,7], :title=>"GDP", :color => 'FF0000'
10
- end
11
-
12
- def test_initialize
13
- assert_equal(@series.title.text, "GDP", "series title has been applied")
14
- end
15
-
16
- def test_to_xml_string
17
- doc = Nokogiri::XML(@chart.to_xml_string)
18
- assert_equal(doc.xpath("//a:srgbClr[@val='#{@series.color}']").size,2)
19
- end
20
-
21
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestBubbleSeries < Test::Unit::TestCase
4
+
5
+ def setup
6
+ p = Axlsx::Package.new
7
+ @ws = p.workbook.add_worksheet :name=>"hmmm"
8
+ @chart = @ws.add_chart Axlsx::BubbleChart, :title => "Bubble Chart"
9
+ @series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :bubbleSize=>[1,5,7], :title=>"GDP", :color => 'FF0000'
10
+ end
11
+
12
+ def test_initialize
13
+ assert_equal(@series.title.text, "GDP", "series title has been applied")
14
+ end
15
+
16
+ def test_to_xml_string
17
+ doc = Nokogiri::XML(@chart.to_xml_string)
18
+ assert_equal(doc.xpath("//a:srgbClr[@val='#{@series.color}']").size,2)
19
+ end
20
+
21
+ end
@@ -1,31 +1,31 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestCatAxis < Test::Unit::TestCase
4
- def setup
5
- @axis = Axlsx::CatAxis.new
6
- end
7
- def teardown
8
- end
9
-
10
- def test_initialization
11
- assert_equal(@axis.auto, 1, "axis auto default incorrect")
12
- assert_equal(@axis.lbl_algn, :ctr, "label align default incorrect")
13
- assert_equal(@axis.lbl_offset, "100", "label offset default incorrect")
14
- end
15
-
16
- def test_auto
17
- assert_raise(ArgumentError, "requires valid auto") { @axis.auto = :nowhere }
18
- assert_nothing_raised("accepts valid auto") { @axis.auto = false }
19
- end
20
-
21
- def test_lbl_algn
22
- assert_raise(ArgumentError, "requires valid label alignment") { @axis.lbl_algn = :nowhere }
23
- assert_nothing_raised("accepts valid label alignment") { @axis.lbl_algn = :r }
24
- end
25
-
26
- def test_lbl_offset
27
- assert_raise(ArgumentError, "requires valid label offset") { @axis.lbl_offset = 'foo' }
28
- assert_nothing_raised("accepts valid label offset") { @axis.lbl_offset = "20" }
29
- end
30
-
31
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestCatAxis < Test::Unit::TestCase
4
+ def setup
5
+ @axis = Axlsx::CatAxis.new
6
+ end
7
+ def teardown
8
+ end
9
+
10
+ def test_initialization
11
+ assert_equal(@axis.auto, 1, "axis auto default incorrect")
12
+ assert_equal(@axis.lbl_algn, :ctr, "label align default incorrect")
13
+ assert_equal(@axis.lbl_offset, "100", "label offset default incorrect")
14
+ end
15
+
16
+ def test_auto
17
+ assert_raise(ArgumentError, "requires valid auto") { @axis.auto = :nowhere }
18
+ assert_nothing_raised("accepts valid auto") { @axis.auto = false }
19
+ end
20
+
21
+ def test_lbl_algn
22
+ assert_raise(ArgumentError, "requires valid label alignment") { @axis.lbl_algn = :nowhere }
23
+ assert_nothing_raised("accepts valid label alignment") { @axis.lbl_algn = :r }
24
+ end
25
+
26
+ def test_lbl_offset
27
+ assert_raise(ArgumentError, "requires valid label offset") { @axis.lbl_offset = 'foo' }
28
+ assert_nothing_raised("accepts valid label offset") { @axis.lbl_offset = "20" }
29
+ end
30
+
31
+ end