agrismart_ruby_mapnik 0.1.6

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 (175) hide show
  1. checksums.yaml +15 -0
  2. data/.autotest +35 -0
  3. data/.gemtest +0 -0
  4. data/.yardopts +1 -0
  5. data/Gemfile +13 -0
  6. data/LICENSE +19 -0
  7. data/Manifest.txt +172 -0
  8. data/README.rdoc +106 -0
  9. data/Rakefile +43 -0
  10. data/demo/data/COPYRIGHT.txt +3 -0
  11. data/demo/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.dbf +0 -0
  12. data/demo/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.prj +1 -0
  13. data/demo/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.shp +0 -0
  14. data/demo/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.shx +0 -0
  15. data/demo/data/boundaries.dbf +0 -0
  16. data/demo/data/boundaries.prj +1 -0
  17. data/demo/data/boundaries.sbx +0 -0
  18. data/demo/data/boundaries.shp +0 -0
  19. data/demo/data/boundaries.shx +0 -0
  20. data/demo/data/boundaries_l.dbf +0 -0
  21. data/demo/data/boundaries_l.prj +1 -0
  22. data/demo/data/boundaries_l.sbx +0 -0
  23. data/demo/data/boundaries_l.shp +0 -0
  24. data/demo/data/boundaries_l.shx +0 -0
  25. data/demo/data/ontdrainage.dbf +0 -0
  26. data/demo/data/ontdrainage.prj +1 -0
  27. data/demo/data/ontdrainage.sbx +0 -0
  28. data/demo/data/ontdrainage.shp +0 -0
  29. data/demo/data/ontdrainage.shx +0 -0
  30. data/demo/data/popplaces.dbf +0 -0
  31. data/demo/data/popplaces.prj +1 -0
  32. data/demo/data/popplaces.sbx +0 -0
  33. data/demo/data/popplaces.shp +0 -0
  34. data/demo/data/popplaces.shx +0 -0
  35. data/demo/data/qcdrainage.dbf +0 -0
  36. data/demo/data/qcdrainage.prj +1 -0
  37. data/demo/data/qcdrainage.sbx +0 -0
  38. data/demo/data/qcdrainage.shp +0 -0
  39. data/demo/data/qcdrainage.shx +0 -0
  40. data/demo/data/roads.dbf +0 -0
  41. data/demo/data/roads.prj +1 -0
  42. data/demo/data/roads.sbx +0 -0
  43. data/demo/data/roads.shp +0 -0
  44. data/demo/data/roads.shx +0 -0
  45. data/demo/data/test/charplacement.dbf +0 -0
  46. data/demo/data/test/charplacement.shp +0 -0
  47. data/demo/data/test/charplacement.shx +0 -0
  48. data/demo/data/test/displacement.dbf +0 -0
  49. data/demo/data/test/displacement.shp +0 -0
  50. data/demo/data/test/displacement.shx +0 -0
  51. data/demo/data/test/overlap.dbf +0 -0
  52. data/demo/data/test/overlap.shp +0 -0
  53. data/demo/data/test/overlap.shx +0 -0
  54. data/demo/data/test/raw/charplacement.gfs +25 -0
  55. data/demo/data/test/raw/charplacement.gml +99 -0
  56. data/demo/data/test/raw/charplacement.xsd +36 -0
  57. data/demo/data/test/raw/displacement.gfs +25 -0
  58. data/demo/data/test/raw/displacement.gml +173 -0
  59. data/demo/data/test/raw/displacement.xsd +36 -0
  60. data/demo/data/test/raw/overlap.gfs +25 -0
  61. data/demo/data/test/raw/overlap.gml +127 -0
  62. data/demo/data/test/raw/overlap.xsd +36 -0
  63. data/demo/data/test/raw/textspacing.gfs +25 -0
  64. data/demo/data/test/raw/textspacing.gml +117 -0
  65. data/demo/data/test/raw/textspacing.xsd +36 -0
  66. data/demo/data/test/readme.txt +3 -0
  67. data/demo/data/test/regenerate.sh +20 -0
  68. data/demo/data/test/textspacing.dbf +0 -0
  69. data/demo/data/test/textspacing.shp +0 -0
  70. data/demo/data/test/textspacing.shx +0 -0
  71. data/demo/rundemo.rb +145 -0
  72. data/demo/sinatra/demo.rb +31 -0
  73. data/demo/sinatra/public/css/demo_map.css +7 -0
  74. data/demo/sinatra/public/index.html +13 -0
  75. data/demo/sinatra/public/javascripts/demo_map.js +42 -0
  76. data/ext/ruby_mapnik/_mapnik.cpp +52 -0
  77. data/ext/ruby_mapnik/_mapnik.h +65 -0
  78. data/ext/ruby_mapnik/_mapnik_color.rb.cpp +179 -0
  79. data/ext/ruby_mapnik/_mapnik_color.rb.h +32 -0
  80. data/ext/ruby_mapnik/_mapnik_coord.rb.cpp +145 -0
  81. data/ext/ruby_mapnik/_mapnik_coord.rb.h +32 -0
  82. data/ext/ruby_mapnik/_mapnik_datasource.rb.cpp +170 -0
  83. data/ext/ruby_mapnik/_mapnik_datasource.rb.h +32 -0
  84. data/ext/ruby_mapnik/_mapnik_datasource_cache.rb.cpp +87 -0
  85. data/ext/ruby_mapnik/_mapnik_datasource_cache.rb.h +32 -0
  86. data/ext/ruby_mapnik/_mapnik_envelope.rb.cpp +220 -0
  87. data/ext/ruby_mapnik/_mapnik_envelope.rb.h +32 -0
  88. data/ext/ruby_mapnik/_mapnik_expression.rb.cpp +91 -0
  89. data/ext/ruby_mapnik/_mapnik_expression.rb.h +32 -0
  90. data/ext/ruby_mapnik/_mapnik_feature.rb.cpp +93 -0
  91. data/ext/ruby_mapnik/_mapnik_feature.rb.h +32 -0
  92. data/ext/ruby_mapnik/_mapnik_font_engine.rb.cpp +71 -0
  93. data/ext/ruby_mapnik/_mapnik_font_engine.rb.h +32 -0
  94. data/ext/ruby_mapnik/_mapnik_layer.rb.cpp +208 -0
  95. data/ext/ruby_mapnik/_mapnik_layer.rb.h +32 -0
  96. data/ext/ruby_mapnik/_mapnik_line_pattern_symbolizer.rb.cpp +71 -0
  97. data/ext/ruby_mapnik/_mapnik_line_pattern_symbolizer.rb.h +32 -0
  98. data/ext/ruby_mapnik/_mapnik_line_symbolizer.rb.cpp +43 -0
  99. data/ext/ruby_mapnik/_mapnik_line_symbolizer.rb.h +32 -0
  100. data/ext/ruby_mapnik/_mapnik_map.rb.cpp +489 -0
  101. data/ext/ruby_mapnik/_mapnik_map.rb.h +32 -0
  102. data/ext/ruby_mapnik/_mapnik_markers_symbolizer.rb.cpp +140 -0
  103. data/ext/ruby_mapnik/_mapnik_markers_symbolizer.rb.h +32 -0
  104. data/ext/ruby_mapnik/_mapnik_point_symbolizer.rb.cpp +148 -0
  105. data/ext/ruby_mapnik/_mapnik_point_symbolizer.rb.h +32 -0
  106. data/ext/ruby_mapnik/_mapnik_polygon_pattern_symbolizer.rb.cpp +93 -0
  107. data/ext/ruby_mapnik/_mapnik_polygon_pattern_symbolizer.rb.h +32 -0
  108. data/ext/ruby_mapnik/_mapnik_polygon_symbolizer.rb.cpp +89 -0
  109. data/ext/ruby_mapnik/_mapnik_polygon_symbolizer.rb.h +32 -0
  110. data/ext/ruby_mapnik/_mapnik_projection.rb.cpp +100 -0
  111. data/ext/ruby_mapnik/_mapnik_projection.rb.h +32 -0
  112. data/ext/ruby_mapnik/_mapnik_raster_colorizer.rb.cpp +162 -0
  113. data/ext/ruby_mapnik/_mapnik_raster_colorizer.rb.h +32 -0
  114. data/ext/ruby_mapnik/_mapnik_raster_symbolizer.rb.cpp +87 -0
  115. data/ext/ruby_mapnik/_mapnik_raster_symbolizer.rb.h +32 -0
  116. data/ext/ruby_mapnik/_mapnik_rule.rb.cpp +69 -0
  117. data/ext/ruby_mapnik/_mapnik_rule.rb.h +32 -0
  118. data/ext/ruby_mapnik/_mapnik_shield_symbolizer.rb.cpp +86 -0
  119. data/ext/ruby_mapnik/_mapnik_shield_symbolizer.rb.h +32 -0
  120. data/ext/ruby_mapnik/_mapnik_stroke.rb.cpp +188 -0
  121. data/ext/ruby_mapnik/_mapnik_stroke.rb.h +32 -0
  122. data/ext/ruby_mapnik/_mapnik_style.rb.cpp +76 -0
  123. data/ext/ruby_mapnik/_mapnik_style.rb.h +32 -0
  124. data/ext/ruby_mapnik/_mapnik_symbolizer.rb.cpp +75 -0
  125. data/ext/ruby_mapnik/_mapnik_symbolizer.rb.h +32 -0
  126. data/ext/ruby_mapnik/_mapnik_text_symbolizer.rb.cpp +486 -0
  127. data/ext/ruby_mapnik/_mapnik_text_symbolizer.rb.h +32 -0
  128. data/ext/ruby_mapnik/extconf.rb +83 -0
  129. data/ext/ruby_mapnik/ruby_mapnik.cpp +32 -0
  130. data/lib/mapnik.rb +1 -0
  131. data/lib/ruby_mapnik.rb +48 -0
  132. data/lib/ruby_mapnik/mapnik/font_engine.rb +35 -0
  133. data/lib/ruby_mapnik/mapnik/layer.rb +68 -0
  134. data/lib/ruby_mapnik/mapnik/map.rb +166 -0
  135. data/lib/ruby_mapnik/mapnik/projection.rb +44 -0
  136. data/lib/ruby_mapnik/mapnik/raster_colorizer.rb +55 -0
  137. data/lib/ruby_mapnik/mapnik/rule.rb +105 -0
  138. data/lib/ruby_mapnik/mapnik/stroke.rb +56 -0
  139. data/lib/ruby_mapnik/mapnik/style.rb +64 -0
  140. data/lib/ruby_mapnik/mapnik/tile.rb +93 -0
  141. data/script/console +2 -0
  142. data/test/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.dbf +0 -0
  143. data/test/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.prj +1 -0
  144. data/test/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.shp +0 -0
  145. data/test/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.shx +0 -0
  146. data/test/data/test_map.xml +15 -0
  147. data/test/test_helper.rb +29 -0
  148. data/test/test_line_pattern_symbolizer.rb +26 -0
  149. data/test/test_mapnik_color.rb +66 -0
  150. data/test/test_mapnik_coord.rb +92 -0
  151. data/test/test_mapnik_datasource.rb +49 -0
  152. data/test/test_mapnik_envelope.rb +232 -0
  153. data/test/test_mapnik_expression.rb +19 -0
  154. data/test/test_mapnik_feature.rb +29 -0
  155. data/test/test_mapnik_font_engine.rb +13 -0
  156. data/test/test_mapnik_layer.rb +121 -0
  157. data/test/test_mapnik_line_symbolizer.rb +25 -0
  158. data/test/test_mapnik_map.rb +211 -0
  159. data/test/test_mapnik_markers_symbolizer.rb +46 -0
  160. data/test/test_mapnik_point_symbolizer.rb +53 -0
  161. data/test/test_mapnik_polygon_symbolizer.rb +44 -0
  162. data/test/test_mapnik_projection.rb +46 -0
  163. data/test/test_mapnik_raster_colorizer.rb +56 -0
  164. data/test/test_mapnik_raster_symbolizer.rb +45 -0
  165. data/test/test_mapnik_rule.rb +45 -0
  166. data/test/test_mapnik_shield_symbolizer.rb +163 -0
  167. data/test/test_mapnik_stroke.rb +94 -0
  168. data/test/test_mapnik_style.rb +28 -0
  169. data/test/test_mapnik_symbolizer.rb +9 -0
  170. data/test/test_mapnik_text_symbolizer.rb +215 -0
  171. data/test/test_polygon_pattern_symbolizer.rb +34 -0
  172. data/test/test_ruby_mapnik.rb +34 -0
  173. data/yard/lib/yard/parser/generic_parser.rb +72 -0
  174. data/yard/lib/yard_generic.rb +18 -0
  175. metadata +322 -0
@@ -0,0 +1,53 @@
1
+ require "test_helper"
2
+
3
+ class TestMapnikPointSymbolizer < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @sym = Mapnik::PointSymbolizer.new
7
+ end
8
+
9
+ def test_presence
10
+ assert Mapnik::PointSymbolizer
11
+ assert Mapnik::PointPlacement::CENTROID
12
+ assert Mapnik::PointPlacement::INTERIOR
13
+ end
14
+
15
+ def test_should_initialize
16
+ assert @sym
17
+ end
18
+
19
+ def test_should_get_and_set_filename
20
+ assert_equal "", @sym.filename
21
+ new_filename = "/my/incredible/graphic.png"
22
+ @sym.filename = new_filename
23
+ assert_equal new_filename, @sym.filename
24
+ end
25
+
26
+ def test_should_get_and_set_allows_overlap
27
+ assert !@sym.allows_overlap?
28
+ @sym.allows_overlap = true
29
+ assert @sym.allows_overlap?
30
+ @sym.allows_overlap = false
31
+ assert !@sym.allows_overlap?
32
+ end
33
+
34
+ def test_should_get_and_set_opacity
35
+ assert_equal 1, @sym.opacity
36
+ new_opacity = 0.5
37
+ @sym.opacity = new_opacity
38
+ assert_equal new_opacity, @sym.opacity
39
+ end
40
+
41
+ def test_should_get_and_set_ignore_placement
42
+ assert !@sym.ignores_placement?
43
+ @sym.ignores_placement = true
44
+ assert @sym.ignores_placement?
45
+ end
46
+
47
+ def test_should_get_and_set_placement
48
+ assert_equal Mapnik::PointPlacement::CENTROID, @sym.placement
49
+ @sym.placement = Mapnik::PointPlacement::INTERIOR
50
+ assert_equal Mapnik::PointPlacement::INTERIOR, @sym.placement
51
+ end
52
+
53
+ end
@@ -0,0 +1,44 @@
1
+ require "test_helper"
2
+
3
+ class TestMapnikPolygonSymbolizer < Test::Unit::TestCase
4
+
5
+ def test_presence
6
+ assert Mapnik::PolygonSymbolizer
7
+ end
8
+
9
+ def test_should_instantiate
10
+ assert Mapnik::PolygonSymbolizer.new
11
+ end
12
+
13
+ def test_should_get_and_set_fill_to_a_color
14
+ polygon = Mapnik::PolygonSymbolizer.new
15
+ color_before = polygon.fill
16
+ assert color_before.kind_of?(Mapnik::Color)
17
+
18
+ new_color = Mapnik::Color.new("#000")
19
+ polygon.fill = new_color
20
+
21
+ assert [:red, :green, :blue, :alpha].all?{|x| polygon.fill.send(x) == new_color.send(x)}
22
+ end
23
+
24
+ def test_should_get_and_set_opacity
25
+ polygon = Mapnik::PolygonSymbolizer.new
26
+ opacity_before = polygon.opacity
27
+ assert_equal 1, opacity_before
28
+
29
+ new_opacity = 0.5
30
+ polygon.opacity = new_opacity
31
+ assert_equal new_opacity, polygon.opacity
32
+ end
33
+
34
+ def test_should_get_and_set_gamma
35
+ polygon = Mapnik::PolygonSymbolizer.new
36
+ gamma_before = polygon.gamma
37
+ assert_equal 1, gamma_before
38
+
39
+ new_gamma = 0.5
40
+ polygon.gamma = new_gamma
41
+ assert_equal new_gamma, polygon.gamma
42
+ end
43
+
44
+ end
@@ -0,0 +1,46 @@
1
+ require "test_helper"
2
+
3
+ class TestMapnikProjection < Test::Unit::TestCase
4
+
5
+ PARAMS = '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'
6
+
7
+ def test_presence
8
+ assert Mapnik::Projection
9
+ end
10
+
11
+ def test_should_instantiate_and_return_params
12
+ assert proj = Mapnik::Projection.new(PARAMS)
13
+ assert_equal PARAMS, proj.params
14
+ end
15
+
16
+ def test_should_return_expanded_params
17
+ assert proj = Mapnik::Projection.new(PARAMS)
18
+ assert_not_equal PARAMS, proj.expanded_params
19
+ assert proj.expanded_params.include?(PARAMS)
20
+ end
21
+
22
+ def test_should_respond_to_geographic
23
+ assert Mapnik::Projection.new(PARAMS).geographic?
24
+ end
25
+
26
+ def test_should_inverse_points
27
+ proj = Mapnik::Projection.new(PARAMS)
28
+ assert proj.inverse(Mapnik::Coord2d.new(2,3))
29
+ end
30
+
31
+ def test_should_inverse_envelopes
32
+ proj = Mapnik::Projection.new(PARAMS)
33
+ assert proj.inverse(Mapnik::Envelope.new(2,3,4,5))
34
+ end
35
+
36
+ def test_should_forward_points
37
+ proj = Mapnik::Projection.new(PARAMS)
38
+ assert proj.forward(Mapnik::Coord2d.new(2,3))
39
+ end
40
+
41
+ def test_should_forward_envelopes
42
+ proj = Mapnik::Projection.new(PARAMS)
43
+ assert proj.forward(Mapnik::Envelope.new(2,3,4,5))
44
+ end
45
+
46
+ end
@@ -0,0 +1,56 @@
1
+ require "test_helper"
2
+
3
+ class TestMapnikRasterColorizer < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @colorizer = Mapnik::RasterColorizer.new
7
+ end
8
+
9
+ def test_presence
10
+ assert Mapnik::RasterColorizer
11
+ ["INHERIT","LINEAR","DISCRETE","EXACT"].each do |colorizer_mode|
12
+ assert Mapnik::ColorizerMode.const_get(colorizer_mode)
13
+ end
14
+ assert Mapnik::ColorizerStop
15
+ end
16
+
17
+ def test_should_get_and_set_default_color
18
+ color = Mapnik::Color.new("#fff")
19
+ @colorizer.default_color = color
20
+ assert_equal 255, @colorizer.default_color.red
21
+ assert_equal 255, @colorizer.default_color.green
22
+ assert_equal 255, @colorizer.default_color.blue
23
+ assert_equal 255, @colorizer.default_color.alpha
24
+ end
25
+
26
+ def test_should_get_and_set_default_mode
27
+ ["LINEAR", "DISCRETE","EXACT"].each do |mode_name|
28
+ const = Mapnik::ColorizerMode.const_get(mode_name)
29
+ @colorizer.default_mode = const
30
+ assert_equal const, @colorizer.default_mode
31
+ end
32
+ end
33
+
34
+ def test_should_get_and_set_epsilon
35
+ @colorizer.epsilon = 5
36
+ assert_equal 5, @colorizer.epsilon
37
+ end
38
+
39
+ def test_should_instantiate_a_stop
40
+ value = 45.5
41
+ mode = Mapnik::ColorizerMode::EXACT
42
+ color = Mapnik::Color.new("#fff")
43
+ assert stop = Mapnik::ColorizerStop.new(value,mode,color)
44
+ assert_equal value, stop.value
45
+ assert_equal mode, stop.mode
46
+ assert_equal color, stop.color
47
+ end
48
+
49
+ def test_should_get_and_add_stops
50
+ assert @colorizer.stops.empty?
51
+ stop = Mapnik::ColorizerStop.new(45.45, Mapnik::ColorizerMode::EXACT, Mapnik::Color.new("#fff"))
52
+ @colorizer.stops << stop
53
+ assert_equal @colorizer.stops.first, stop
54
+ end
55
+
56
+ end
@@ -0,0 +1,45 @@
1
+ require "test_helper"
2
+
3
+ class TestMapnikRasterSymbolizer < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @sym = Mapnik::RasterSymbolizer.new
7
+ end
8
+
9
+ def test_should_have_scaling_method
10
+ scaling_methods = [:NEAR, :BILINEAR, :BICUBIC,
11
+ :SPLINE16, :SPLINE36, :HANNING,
12
+ :HAMMING, :HERMITE, :KAISER, :QUADRIC,
13
+ :CATROM, :GAUSSIAN, :BESSEL, :MITCHELL,
14
+ :SINC, :LANCZOS, :BLACKMAN, :BILINEAR8]
15
+ assert_equal scaling_methods, Mapnik::ScalingMethod.constants
16
+ end
17
+
18
+ def test_should_get_and_set_mode
19
+ possible_values = ["normal", "grain_merge", "grain_merge2", "multiply",
20
+ "multiply2", "divide", "divide2", "screen", "hard_light"]
21
+ possible_values.each do |value|
22
+ @sym.mode = value
23
+ assert_equal value, @sym.mode
24
+ end
25
+ end
26
+
27
+ def test_should_get_and_set_scaling
28
+ Mapnik::ScalingMethod.constants.each do |const_sym|
29
+ value = Mapnik::ScalingMethod.const_get(const_sym)
30
+ @sym.scaling = value
31
+ assert_equal value, @sym.scaling
32
+ end
33
+ end
34
+
35
+ def test_should_get_and_set_opacity
36
+ @sym.opacity = 0.5
37
+ assert_equal 0.5, @sym.opacity
38
+ end
39
+
40
+ def test_should_get_and_set_filter_factor
41
+ @sym.filter_factor = 0.5
42
+ assert_equal 0.5, @sym.filter_factor
43
+ end
44
+
45
+ end
@@ -0,0 +1,45 @@
1
+ require "test_helper"
2
+
3
+ class TestMapnikRule < Test::Unit::TestCase
4
+
5
+ def test_presence
6
+ assert Mapnik::Rule
7
+ end
8
+
9
+ def test_should_instantiate
10
+ assert Mapnik::Rule.new
11
+ end
12
+
13
+ def test_should_get_and_set_name
14
+ rule = Mapnik::Rule.new
15
+ assert_equal("", rule.name)
16
+
17
+ new_name = "New name"
18
+ rule.name = new_name
19
+ assert_equal new_name, rule.name
20
+ end
21
+
22
+ def test_should_get_and_set_filter
23
+ rule = Mapnik::Rule.new
24
+ expression_string = "([place]='town')"
25
+ expression = Mapnik::Expression.parse(expression_string)
26
+ rule.filter = expression
27
+ assert_equal expression_string, rule.filter.to_s
28
+ end
29
+
30
+ def test_should_append_and_remove_symbols
31
+ rule = Mapnik::Rule.new
32
+ assert_equal 0, rule.symbols.count
33
+ rule.symbols << Mapnik::PolygonSymbolizer.new
34
+ assert_equal 1, rule.symbols.count
35
+ rule.symbols << Mapnik::LineSymbolizer.new
36
+ assert_equal 2, rule.symbols.count
37
+
38
+ obj = rule.symbols.delete_at(0)
39
+ assert obj
40
+ assert_equal 1, rule.symbols.count
41
+ assert rule.symbols.pop
42
+ assert_equal 0, rule.symbols.count
43
+ end
44
+
45
+ end
@@ -0,0 +1,163 @@
1
+ require "test_helper"
2
+
3
+ class TestMapnikShieldSymbolizer < Test::Unit::TestCase
4
+
5
+ def setup
6
+ expression = Mapnik::Expression.parse("[place]")
7
+ face_name = "DejaVu Sans Book"
8
+ fill = Mapnik::Color.new("#fff")
9
+ file = Mapnik::PathExpression.parse("myfile.png")
10
+ @sym = Mapnik::ShieldSymbolizer.new(expression, face_name, 12, fill, file)
11
+ end
12
+
13
+ def test_should_instantiate
14
+ assert @sym
15
+ end
16
+
17
+ def test_should_get_and_set_allow_overlap
18
+ @sym.allow_overlap = true
19
+ assert @sym.allow_overlap?
20
+ @sym.allow_overlap = false
21
+ assert !@sym.allow_overlap?
22
+ end
23
+
24
+ def test_should_get_and_set_displacement
25
+ assert @sym.displacement
26
+ new_vals = [1,2]
27
+ @sym.displacement = new_vals
28
+ assert_equal new_vals, @sym.displacement
29
+ end
30
+
31
+ def test_should_get_and_set_shield_displacement
32
+ assert @sym.shield_displacement
33
+ new_vals = [1,2]
34
+ @sym.shield_displacement = new_vals
35
+ assert_equal new_vals, @sym.shield_displacement
36
+ end
37
+
38
+ def test_should_get_and_set_avoid_edges
39
+ @sym.avoid_edges = true
40
+ assert @sym.avoid_edges?
41
+ @sym.avoid_edges = false
42
+ assert !@sym.avoid_edges?
43
+ end
44
+
45
+ def test_should_get_and_set_character_spacing
46
+ assert_equal 0, @sym.character_spacing
47
+ @sym.character_spacing = 1
48
+ assert_equal 1, @sym.character_spacing
49
+ end
50
+
51
+ def test_should_get_and_set_face_name
52
+ assert_equal "DejaVu Sans Book", @sym.face_name
53
+ @sym.face_name = "DejaVu Sans"
54
+ assert_equal "DejaVu Sans", @sym.face_name
55
+ end
56
+
57
+ def test_should_get_and_set_fill
58
+ assert @sym.fill.instance_of?(Mapnik::Color)
59
+ white = Mapnik::Color.new("#fff")
60
+ @sym.fill = white
61
+ assert_equal white, @sym.fill
62
+ end
63
+
64
+ # TODO: Need fontset
65
+ # def test_should_get_and_set_fontset
66
+ # raise @sym.fontset.inspect
67
+ # end
68
+
69
+ def test_should_get_and_set_force_odd_labels
70
+ @sym.force_odd_labels = true
71
+ assert @sym.force_odd_labels?
72
+ @sym.force_odd_labels = false
73
+ assert !@sym.force_odd_labels?
74
+ end
75
+
76
+ def test_should_get_and_set_halo_fill
77
+ assert @sym.halo_fill.instance_of?(Mapnik::Color)
78
+ white = Mapnik::Color.new("#fff")
79
+ @sym.halo_fill = white
80
+ assert_equal white, @sym.halo_fill
81
+ end
82
+
83
+ def test_should_get_and_set_halo_radius
84
+ assert_equal 0, @sym.halo_radius
85
+ @sym.halo_radius = 1
86
+ assert_equal 1, @sym.halo_radius
87
+ end
88
+
89
+ def test_should_get_and_set_horizontal_alignment
90
+ @sym.horizontal_alignment = Mapnik::HORIZONTAL_ALIGNMENT::LEFT
91
+ assert_equal Mapnik::HORIZONTAL_ALIGNMENT::LEFT, @sym.horizontal_alignment
92
+
93
+ @sym.horizontal_alignment = Mapnik::HORIZONTAL_ALIGNMENT::MIDDLE
94
+ assert_equal Mapnik::HORIZONTAL_ALIGNMENT::MIDDLE, @sym.horizontal_alignment
95
+
96
+ @sym.horizontal_alignment = Mapnik::HORIZONTAL_ALIGNMENT::RIGHT
97
+ assert_equal Mapnik::HORIZONTAL_ALIGNMENT::RIGHT, @sym.horizontal_alignment
98
+ end
99
+
100
+ def test_should_get_and_set_label_position_tolerance
101
+ assert_equal 0, @sym.label_position_tolerance
102
+ @sym.label_position_tolerance = 1
103
+ assert_equal 1, @sym.label_position_tolerance
104
+ end
105
+
106
+ def test_should_get_and_set_label_spacing
107
+ assert_equal 0, @sym.label_spacing
108
+ @sym.label_spacing = 1
109
+ assert_equal 1, @sym.label_spacing
110
+ end
111
+
112
+ def test_should_get_and_set_line_spacing
113
+ assert_equal 0, @sym.line_spacing
114
+ @sym.line_spacing = 1
115
+ assert_equal 1, @sym.line_spacing
116
+ end
117
+
118
+ # TODO: failure here!
119
+ def test_should_get_and_set_max_char_angle_delta
120
+ @sym.max_char_angle_delta = 0.5
121
+ assert_equal 0.5, @sym.max_char_angle_delta
122
+ @sym.max_char_angle_delta = 0.7
123
+ assert_equal 0.7, @sym.max_char_angle_delta
124
+ end
125
+
126
+ def test_should_get_and_set_minimum_distance
127
+ assert_equal 0, @sym.minimum_distance
128
+ @sym.minimum_distance = 1
129
+ assert_equal 1, @sym.minimum_distance
130
+ end
131
+
132
+ def test_should_get_and_set_minimum_padding
133
+ assert_equal 0, @sym.minimum_padding
134
+ @sym.minimum_padding = 1
135
+ assert_equal 1, @sym.minimum_padding
136
+ end
137
+
138
+ def test_should_get_and_set_opactiy
139
+ assert_equal 1, @sym.opacity
140
+ @sym.opacity = 0
141
+ assert_equal 0, @sym.opacity
142
+ end
143
+
144
+ def test_should_get_and_set_text_ratio
145
+ assert_equal 0, @sym.ratio
146
+ @sym.ratio = 3
147
+ assert_equal 3, @sym.ratio
148
+ end
149
+
150
+ def test_should_get_and_set_wrap_character
151
+ @sym.wrap_character = '|'
152
+ assert_equal '|', @sym.wrap_character
153
+ @sym.wrap_character = '%'
154
+ assert_equal '%', @sym.wrap_character
155
+ end
156
+
157
+ def test_should_get_and_set_wrap_before
158
+ assert !@sym.wrap_before
159
+ @sym.wrap_before = true
160
+ assert @sym.wrap_before
161
+ end
162
+
163
+ end