/sigmah/src/test/java/org/sigmah/server/report/generator/map/BubbleGeneratorTest.java

http://sigma-h.googlecode.com/ · Java · 120 lines · 83 code · 30 blank · 7 comment · 0 complexity · 5a428cd0c509336c79cd7583afd77492 MD5 · raw file

  1. /*
  2. * All Sigmah code is released under the GNU General Public License v3
  3. * See COPYRIGHT.txt and LICENSE.txt.
  4. */
  5. package org.sigmah.server.report.generator.map;
  6. import org.junit.Assert;
  7. import org.junit.Test;
  8. import org.sigmah.shared.dao.SiteTableColumn;
  9. import org.sigmah.server.domain.SiteData;
  10. import org.sigmah.shared.report.content.BubbleMapMarker;
  11. import org.sigmah.shared.report.content.LatLng;
  12. import org.sigmah.shared.report.content.MapContent;
  13. import org.sigmah.shared.report.model.*;
  14. import java.util.ArrayList;
  15. import java.util.List;
  16. /*
  17. * @author Alex Bertram
  18. */
  19. public class BubbleGeneratorTest {
  20. @Test
  21. public void testColorByIndicators() {
  22. MapElement element = new MapElement();
  23. BubbleMapLayer layer = new BubbleMapLayer();
  24. layer.setClustered(true);
  25. layer.addIndicator(101);
  26. layer.addIndicator(102);
  27. Dimension dim = new Dimension(DimensionType.Indicator);
  28. dim.setProperties(101, CategoryProperties.Color(0, 0, 255));
  29. dim.setProperties(102, CategoryProperties.Color(0, 0, 0));
  30. layer.getColorDimensions().add(dim);
  31. List<SiteData> sites = new ArrayList<SiteData>();
  32. SiteData site1 = new SiteData();
  33. site1.setValue(SiteTableColumn.id, 1) ;
  34. site1.setValue(SiteTableColumn.x, 29.3 );
  35. site1.setValue(SiteTableColumn.y, -1.5);
  36. site1.indicatorValues.put(101, 35.0);
  37. site1.indicatorValues.put(102, 55.0);
  38. sites.add(site1);
  39. element.addLayer(layer);
  40. TiledMap map = new TiledMap(640, 480, new LatLng(-1.5, 29.3), 9);
  41. MapContent content = new MapContent();
  42. BubbleLayerGenerator gtor = new BubbleLayerGenerator(element, layer);
  43. gtor.generate(sites, map, content);
  44. Assert.assertEquals("marker count", 2, content.getMarkers().size());
  45. Assert.assertEquals(255, ((BubbleMapMarker) content.getMarkers().get(0)).getColor());
  46. Assert.assertEquals(0, ((BubbleMapMarker) content.getMarkers().get(1)).getColor());
  47. Assert.assertTrue(((BubbleMapMarker) content.getMarkers().get(0)).getRadius() >= layer.getMinRadius());
  48. }
  49. @Test
  50. public void testColorByPartner() {
  51. MapElement element = new MapElement();
  52. BubbleMapLayer layer = new BubbleMapLayer();
  53. layer.setClustered(true);
  54. layer.addIndicator(101);
  55. Dimension dim = new Dimension(DimensionType.Partner);
  56. dim.setProperties(301, CategoryProperties.Color(0, 0, 255));
  57. dim.setProperties(302, CategoryProperties.Color(0, 0, 0));
  58. layer.getColorDimensions().add(dim);
  59. List<SiteData> sites = new ArrayList<SiteData>();
  60. SiteData site1 = new SiteData();
  61. site1.setValue(SiteTableColumn.id, 1) ;
  62. site1.setValue(SiteTableColumn.partner_id, 301);
  63. site1.setValue(SiteTableColumn.x, 29.3 );
  64. site1.setValue(SiteTableColumn.y, -1.5);
  65. site1.indicatorValues.put(101, 35.0);
  66. sites.add(site1);
  67. SiteData site2 = new SiteData();
  68. site2.setValue(SiteTableColumn.id, 2) ;
  69. site2.setValue(SiteTableColumn.partner_id, 302);
  70. site2.setValue(SiteTableColumn.x, 29.3 );
  71. site2.setValue(SiteTableColumn.y, -1.5);
  72. site2.indicatorValues.put(101, 70.0);
  73. sites.add(site2);
  74. SiteData site3 = new SiteData();
  75. site3.setValue(SiteTableColumn.id, 3) ;
  76. site3.setValue(SiteTableColumn.partner_id, 302);
  77. site3.setValue(SiteTableColumn.x, 29.3 );
  78. site3.setValue(SiteTableColumn.y, -1.5);
  79. site3.indicatorValues.put(101, 100.0);
  80. sites.add(site3);
  81. element.addLayer(layer);
  82. TiledMap map = new TiledMap(640, 480, new LatLng(-1.5, 29.3), 9);
  83. MapContent content = new MapContent();
  84. BubbleLayerGenerator gtor = new BubbleLayerGenerator(element, layer);
  85. gtor.generate(sites, map, content);
  86. Assert.assertEquals("marker count", 2, content.getMarkers().size());
  87. Assert.assertEquals(255, ((BubbleMapMarker) content.getMarkers().get(0)).getColor());
  88. Assert.assertEquals(0, ((BubbleMapMarker) content.getMarkers().get(1)).getColor());
  89. }
  90. }