[Schmitzm-commits] r919 - trunk/src_junit/schmitzm/jfree/feature/style

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Thu Jul 1 15:34:07 CEST 2010


Author: alfonx
Date: 2010-07-01 15:34:07 +0200 (Thu, 01 Jul 2010)
New Revision: 919

Modified:
   trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java
Log:
Testcase f?\195?\188r sortierung nach series in BarChart/Category chart

Modified: trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java
===================================================================
--- trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java	2010-06-30 15:04:30 UTC (rev 918)
+++ trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java	2010-07-01 13:34:07 UTC (rev 919)
@@ -53,7 +53,87 @@
 	
 	String resLocation = "/schmitzm/jfree/feature/style/testLineChartShape/testKreiseLineChart.shp";
 	
+	
+	
+
 	@Test
+	public void testBarChartSortedSeries() throws IOException, InterruptedException {
+
+		// Testdatenshape einlesen
+		URL resourceUrl = FeatureChartStyleTest.class.getResource(
+						resLocation);
+		assertNotNull(resLocation+" wurde nicht gefunden!",
+				resourceUrl);
+		
+		FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = GeoImportUtil
+				.readFeaturesFromShapeURL(resourceUrl);
+
+		assertNotNull("Testfeatures konnten nicht aus " + resourceUrl
+				+ " gelesen werden", testFeatures);
+
+		// Daten auf korrektheit überprüfen
+		assertEquals("Testfeatures muss 3x3 Features enthalten", 3 * 3,
+				testFeatures.size());
+		String groupAttribName = "jahr"; // KreisZahl
+		SimpleFeatureType testDatenSchema = testFeatures.getSchema();
+		assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
+		String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
+		// Jahren
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
+		String labelAttribName = "title"; // Attribute mit Label für Series
+		assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
+		String domainAttribName = "code"; // Diese Variable soll auf der X-Achse
+		// angezeigt werden
+		assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
+
+		ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
+				Color.red, 0., 0.);
+		ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
+				Color.green, 0., 0.);
+
+		FeatureBasicChartStyle barChartStyle = new FeatureBasicChartStyle(
+				"testLineChart", ChartType.BAR);
+		
+		barChartStyle.setAxisStyle(0, domainAxisStyle);
+		barChartStyle.setAxisStyle(1, rangeAxisStyle);
+
+		// Jahreszahlen sollen nicht als zahlen interpretiert werden
+		barChartStyle.setForceCategories(true);
+
+		barChartStyle.setAttributeName(0, domainAttribName);
+		barChartStyle.setAttributeName(1, variablenAttribName);
+
+		barChartStyle.setTooltips(true);
+
+		barChartStyle.setSeriesAttributeName(groupAttribName);
+
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				barChartStyle.getRendererStyle(0));
+
+		JFreeChart chart = barChartStyle
+				.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection liefte null!", chart);
+
+		BufferedImage chartpng = chart.createBufferedImage(600, 400);
+		assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!",
+				chartpng);
+
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"Die Balken sollten ihren Jahreszahlen entsprechend sortiert sein", chart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
+	}
+	
+	
+	
+	
+	
+	@Test
 	public void saveAndLoadWeightedChart() throws IOException {
 		FeatureBasicChartStyle weightChartStyle = new FeatureBasicChartStyle(
 				"testLineChart", ChartType.BAR);
@@ -175,6 +255,8 @@
 		}
 	}
 	
+	
+	
 	@Test
 	public void testLineChartAsCategories() throws IOException, CQLException, InterruptedException {
 



More information about the Schmitzm-commits mailing list