mapnik 0.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 (173) hide show
  1. data/.autotest +35 -0
  2. data/.yardopts +1 -0
  3. data/Gemfile +14 -0
  4. data/LICENSE +19 -0
  5. data/Manifest.txt +172 -0
  6. data/README.rdoc +107 -0
  7. data/Rakefile +43 -0
  8. data/demo/data/COPYRIGHT.txt +3 -0
  9. data/demo/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.dbf +0 -0
  10. data/demo/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.prj +1 -0
  11. data/demo/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.shp +0 -0
  12. data/demo/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.shx +0 -0
  13. data/demo/data/boundaries.dbf +0 -0
  14. data/demo/data/boundaries.prj +1 -0
  15. data/demo/data/boundaries.sbx +0 -0
  16. data/demo/data/boundaries.shp +0 -0
  17. data/demo/data/boundaries.shx +0 -0
  18. data/demo/data/boundaries_l.dbf +0 -0
  19. data/demo/data/boundaries_l.prj +1 -0
  20. data/demo/data/boundaries_l.sbx +0 -0
  21. data/demo/data/boundaries_l.shp +0 -0
  22. data/demo/data/boundaries_l.shx +0 -0
  23. data/demo/data/ontdrainage.dbf +0 -0
  24. data/demo/data/ontdrainage.prj +1 -0
  25. data/demo/data/ontdrainage.sbx +0 -0
  26. data/demo/data/ontdrainage.shp +0 -0
  27. data/demo/data/ontdrainage.shx +0 -0
  28. data/demo/data/popplaces.dbf +0 -0
  29. data/demo/data/popplaces.prj +1 -0
  30. data/demo/data/popplaces.sbx +0 -0
  31. data/demo/data/popplaces.shp +0 -0
  32. data/demo/data/popplaces.shx +0 -0
  33. data/demo/data/qcdrainage.dbf +0 -0
  34. data/demo/data/qcdrainage.prj +1 -0
  35. data/demo/data/qcdrainage.sbx +0 -0
  36. data/demo/data/qcdrainage.shp +0 -0
  37. data/demo/data/qcdrainage.shx +0 -0
  38. data/demo/data/roads.dbf +0 -0
  39. data/demo/data/roads.prj +1 -0
  40. data/demo/data/roads.sbx +0 -0
  41. data/demo/data/roads.shp +0 -0
  42. data/demo/data/roads.shx +0 -0
  43. data/demo/data/test/charplacement.dbf +0 -0
  44. data/demo/data/test/charplacement.shp +0 -0
  45. data/demo/data/test/charplacement.shx +0 -0
  46. data/demo/data/test/displacement.dbf +0 -0
  47. data/demo/data/test/displacement.shp +0 -0
  48. data/demo/data/test/displacement.shx +0 -0
  49. data/demo/data/test/overlap.dbf +0 -0
  50. data/demo/data/test/overlap.shp +0 -0
  51. data/demo/data/test/overlap.shx +0 -0
  52. data/demo/data/test/raw/charplacement.gfs +25 -0
  53. data/demo/data/test/raw/charplacement.gml +99 -0
  54. data/demo/data/test/raw/charplacement.xsd +36 -0
  55. data/demo/data/test/raw/displacement.gfs +25 -0
  56. data/demo/data/test/raw/displacement.gml +173 -0
  57. data/demo/data/test/raw/displacement.xsd +36 -0
  58. data/demo/data/test/raw/overlap.gfs +25 -0
  59. data/demo/data/test/raw/overlap.gml +127 -0
  60. data/demo/data/test/raw/overlap.xsd +36 -0
  61. data/demo/data/test/raw/textspacing.gfs +25 -0
  62. data/demo/data/test/raw/textspacing.gml +117 -0
  63. data/demo/data/test/raw/textspacing.xsd +36 -0
  64. data/demo/data/test/readme.txt +3 -0
  65. data/demo/data/test/regenerate.sh +20 -0
  66. data/demo/data/test/textspacing.dbf +0 -0
  67. data/demo/data/test/textspacing.shp +0 -0
  68. data/demo/data/test/textspacing.shx +0 -0
  69. data/demo/rundemo.rb +145 -0
  70. data/demo/sinatra/demo.rb +31 -0
  71. data/demo/sinatra/public/css/demo_map.css +7 -0
  72. data/demo/sinatra/public/index.html +13 -0
  73. data/demo/sinatra/public/javascripts/demo_map.js +42 -0
  74. data/ext/ruby_mapnik/_mapnik.cpp +52 -0
  75. data/ext/ruby_mapnik/_mapnik.h +65 -0
  76. data/ext/ruby_mapnik/_mapnik_color.rb.cpp +179 -0
  77. data/ext/ruby_mapnik/_mapnik_color.rb.h +32 -0
  78. data/ext/ruby_mapnik/_mapnik_coord.rb.cpp +145 -0
  79. data/ext/ruby_mapnik/_mapnik_coord.rb.h +32 -0
  80. data/ext/ruby_mapnik/_mapnik_datasource.rb.cpp +170 -0
  81. data/ext/ruby_mapnik/_mapnik_datasource.rb.h +32 -0
  82. data/ext/ruby_mapnik/_mapnik_datasource_cache.rb.cpp +87 -0
  83. data/ext/ruby_mapnik/_mapnik_datasource_cache.rb.h +32 -0
  84. data/ext/ruby_mapnik/_mapnik_envelope.rb.cpp +220 -0
  85. data/ext/ruby_mapnik/_mapnik_envelope.rb.h +32 -0
  86. data/ext/ruby_mapnik/_mapnik_expression.rb.cpp +91 -0
  87. data/ext/ruby_mapnik/_mapnik_expression.rb.h +32 -0
  88. data/ext/ruby_mapnik/_mapnik_feature.rb.cpp +93 -0
  89. data/ext/ruby_mapnik/_mapnik_feature.rb.h +32 -0
  90. data/ext/ruby_mapnik/_mapnik_font_engine.rb.cpp +71 -0
  91. data/ext/ruby_mapnik/_mapnik_font_engine.rb.h +32 -0
  92. data/ext/ruby_mapnik/_mapnik_layer.rb.cpp +208 -0
  93. data/ext/ruby_mapnik/_mapnik_layer.rb.h +32 -0
  94. data/ext/ruby_mapnik/_mapnik_line_pattern_symbolizer.rb.cpp +71 -0
  95. data/ext/ruby_mapnik/_mapnik_line_pattern_symbolizer.rb.h +32 -0
  96. data/ext/ruby_mapnik/_mapnik_line_symbolizer.rb.cpp +43 -0
  97. data/ext/ruby_mapnik/_mapnik_line_symbolizer.rb.h +32 -0
  98. data/ext/ruby_mapnik/_mapnik_map.rb.cpp +489 -0
  99. data/ext/ruby_mapnik/_mapnik_map.rb.h +32 -0
  100. data/ext/ruby_mapnik/_mapnik_markers_symbolizer.rb.cpp +140 -0
  101. data/ext/ruby_mapnik/_mapnik_markers_symbolizer.rb.h +32 -0
  102. data/ext/ruby_mapnik/_mapnik_point_symbolizer.rb.cpp +150 -0
  103. data/ext/ruby_mapnik/_mapnik_point_symbolizer.rb.h +32 -0
  104. data/ext/ruby_mapnik/_mapnik_polygon_pattern_symbolizer.rb.cpp +93 -0
  105. data/ext/ruby_mapnik/_mapnik_polygon_pattern_symbolizer.rb.h +32 -0
  106. data/ext/ruby_mapnik/_mapnik_polygon_symbolizer.rb.cpp +89 -0
  107. data/ext/ruby_mapnik/_mapnik_polygon_symbolizer.rb.h +32 -0
  108. data/ext/ruby_mapnik/_mapnik_projection.rb.cpp +100 -0
  109. data/ext/ruby_mapnik/_mapnik_projection.rb.h +32 -0
  110. data/ext/ruby_mapnik/_mapnik_raster_colorizer.rb.cpp +162 -0
  111. data/ext/ruby_mapnik/_mapnik_raster_colorizer.rb.h +32 -0
  112. data/ext/ruby_mapnik/_mapnik_raster_symbolizer.rb.cpp +87 -0
  113. data/ext/ruby_mapnik/_mapnik_raster_symbolizer.rb.h +32 -0
  114. data/ext/ruby_mapnik/_mapnik_rule.rb.cpp +69 -0
  115. data/ext/ruby_mapnik/_mapnik_rule.rb.h +32 -0
  116. data/ext/ruby_mapnik/_mapnik_shield_symbolizer.rb.cpp +86 -0
  117. data/ext/ruby_mapnik/_mapnik_shield_symbolizer.rb.h +32 -0
  118. data/ext/ruby_mapnik/_mapnik_stroke.rb.cpp +188 -0
  119. data/ext/ruby_mapnik/_mapnik_stroke.rb.h +32 -0
  120. data/ext/ruby_mapnik/_mapnik_style.rb.cpp +76 -0
  121. data/ext/ruby_mapnik/_mapnik_style.rb.h +32 -0
  122. data/ext/ruby_mapnik/_mapnik_symbolizer.rb.cpp +75 -0
  123. data/ext/ruby_mapnik/_mapnik_symbolizer.rb.h +32 -0
  124. data/ext/ruby_mapnik/_mapnik_text_symbolizer.rb.cpp +471 -0
  125. data/ext/ruby_mapnik/_mapnik_text_symbolizer.rb.h +32 -0
  126. data/ext/ruby_mapnik/extconf.rb +80 -0
  127. data/ext/ruby_mapnik/ruby_mapnik.cpp +32 -0
  128. data/lib/mapnik.rb +1 -0
  129. data/lib/ruby_mapnik.rb +48 -0
  130. data/lib/ruby_mapnik/mapnik/font_engine.rb +35 -0
  131. data/lib/ruby_mapnik/mapnik/layer.rb +68 -0
  132. data/lib/ruby_mapnik/mapnik/map.rb +166 -0
  133. data/lib/ruby_mapnik/mapnik/projection.rb +44 -0
  134. data/lib/ruby_mapnik/mapnik/raster_colorizer.rb +55 -0
  135. data/lib/ruby_mapnik/mapnik/rule.rb +104 -0
  136. data/lib/ruby_mapnik/mapnik/stroke.rb +56 -0
  137. data/lib/ruby_mapnik/mapnik/style.rb +64 -0
  138. data/lib/ruby_mapnik/mapnik/tile.rb +93 -0
  139. data/script/console +2 -0
  140. data/test/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.dbf +0 -0
  141. data/test/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.prj +1 -0
  142. data/test/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.shp +0 -0
  143. data/test/data/TM_WORLD_BORDERS_SIMPL_0.3_MOD.shx +0 -0
  144. data/test/data/test_map.xml +15 -0
  145. data/test/test_helper.rb +29 -0
  146. data/test/test_line_pattern_symbolizer.rb +26 -0
  147. data/test/test_mapnik_color.rb +66 -0
  148. data/test/test_mapnik_coord.rb +92 -0
  149. data/test/test_mapnik_datasource.rb +49 -0
  150. data/test/test_mapnik_envelope.rb +232 -0
  151. data/test/test_mapnik_expression.rb +19 -0
  152. data/test/test_mapnik_feature.rb +29 -0
  153. data/test/test_mapnik_font_engine.rb +13 -0
  154. data/test/test_mapnik_layer.rb +121 -0
  155. data/test/test_mapnik_line_symbolizer.rb +25 -0
  156. data/test/test_mapnik_map.rb +211 -0
  157. data/test/test_mapnik_markers_symbolizer.rb +46 -0
  158. data/test/test_mapnik_point_symbolizer.rb +53 -0
  159. data/test/test_mapnik_polygon_symbolizer.rb +44 -0
  160. data/test/test_mapnik_projection.rb +46 -0
  161. data/test/test_mapnik_raster_colorizer.rb +56 -0
  162. data/test/test_mapnik_raster_symbolizer.rb +45 -0
  163. data/test/test_mapnik_rule.rb +45 -0
  164. data/test/test_mapnik_shield_symbolizer.rb +156 -0
  165. data/test/test_mapnik_stroke.rb +94 -0
  166. data/test/test_mapnik_style.rb +28 -0
  167. data/test/test_mapnik_symbolizer.rb +9 -0
  168. data/test/test_mapnik_text_symbolizer.rb +208 -0
  169. data/test/test_polygon_pattern_symbolizer.rb +34 -0
  170. data/test/test_ruby_mapnik.rb +34 -0
  171. data/yard/lib/yard/parser/generic_parser.rb +72 -0
  172. data/yard/lib/yard_generic.rb +18 -0
  173. metadata +333 -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,156 @@
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_halo_fill
70
+ assert @sym.halo_fill.instance_of?(Mapnik::Color)
71
+ white = Mapnik::Color.new("#fff")
72
+ @sym.halo_fill = white
73
+ assert_equal white, @sym.halo_fill
74
+ end
75
+
76
+ def test_should_get_and_set_halo_radius
77
+ assert_equal 0, @sym.halo_radius
78
+ @sym.halo_radius = 1
79
+ assert_equal 1, @sym.halo_radius
80
+ end
81
+
82
+ def test_should_get_and_set_horizontal_alignment
83
+ @sym.horizontal_alignment = Mapnik::HORIZONTAL_ALIGNMENT::LEFT
84
+ assert_equal Mapnik::HORIZONTAL_ALIGNMENT::LEFT, @sym.horizontal_alignment
85
+
86
+ @sym.horizontal_alignment = Mapnik::HORIZONTAL_ALIGNMENT::MIDDLE
87
+ assert_equal Mapnik::HORIZONTAL_ALIGNMENT::MIDDLE, @sym.horizontal_alignment
88
+
89
+ @sym.horizontal_alignment = Mapnik::HORIZONTAL_ALIGNMENT::RIGHT
90
+ assert_equal Mapnik::HORIZONTAL_ALIGNMENT::RIGHT, @sym.horizontal_alignment
91
+ end
92
+
93
+ def test_should_get_and_set_label_position_tolerance
94
+ assert_equal 0, @sym.label_position_tolerance
95
+ @sym.label_position_tolerance = 1
96
+ assert_equal 1, @sym.label_position_tolerance
97
+ end
98
+
99
+ def test_should_get_and_set_label_spacing
100
+ assert_equal 0, @sym.label_spacing
101
+ @sym.label_spacing = 1
102
+ assert_equal 1, @sym.label_spacing
103
+ end
104
+
105
+ def test_should_get_and_set_line_spacing
106
+ assert_equal 0, @sym.line_spacing
107
+ @sym.line_spacing = 1
108
+ assert_equal 1, @sym.line_spacing
109
+ end
110
+
111
+ # TODO: failure here!
112
+ def test_should_get_and_set_max_char_angle_delta
113
+ @sym.max_char_angle_delta = 0.5
114
+ assert_equal 0.5, @sym.max_char_angle_delta
115
+ @sym.max_char_angle_delta = 0.7
116
+ assert_equal 0.7, @sym.max_char_angle_delta
117
+ end
118
+
119
+ def test_should_get_and_set_minimum_distance
120
+ assert_equal 0, @sym.minimum_distance
121
+ @sym.minimum_distance = 1
122
+ assert_equal 1, @sym.minimum_distance
123
+ end
124
+
125
+ def test_should_get_and_set_minimum_padding
126
+ assert_equal 0, @sym.minimum_padding
127
+ @sym.minimum_padding = 1
128
+ assert_equal 1, @sym.minimum_padding
129
+ end
130
+
131
+ def test_should_get_and_set_opactiy
132
+ assert_equal 1, @sym.opacity
133
+ @sym.opacity = 0
134
+ assert_equal 0, @sym.opacity
135
+ end
136
+
137
+ def test_should_get_and_set_text_ratio
138
+ assert_equal 0, @sym.ratio
139
+ @sym.ratio = 3
140
+ assert_equal 3, @sym.ratio
141
+ end
142
+
143
+ def test_should_get_and_set_wrap_character
144
+ @sym.wrap_character = '|'
145
+ assert_equal '|', @sym.wrap_character
146
+ @sym.wrap_character = '%'
147
+ assert_equal '%', @sym.wrap_character
148
+ end
149
+
150
+ def test_should_get_and_set_wrap_before
151
+ assert !@sym.wrap_before
152
+ @sym.wrap_before = true
153
+ assert @sym.wrap_before
154
+ end
155
+
156
+ end