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

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Wed May 5 16:53:08 CEST 2010


Author: alfonx
Date: 2010-05-05 16:53:08 +0200 (Wed, 05 May 2010)
New Revision: 828

Modified:
   trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java
Log:
weighted attribute wird nicht korrekt gelesen oder geschrieben

Modified: trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java
===================================================================
--- trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java	2010-05-05 14:36:31 UTC (rev 827)
+++ trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java	2010-05-05 14:53:08 UTC (rev 828)
@@ -33,11 +33,129 @@
 
 public class FeatureChartStyleTest {
 	private static Logger log = Logger.getLogger(FeatureChartStyleTest.class);
+	
+	FeatureChartStyleXMLFactory xmlFactory = new FeatureChartStyleXMLFactory();
 
 	boolean INTERACTIVE = !GraphicsEnvironment.isHeadless();
 	String resLocation = "/schmitzm/jfree/feature/style/testLineChartShape/testKreiseLineChart2.shp";
+	
+	@Test
+	public void saveAndLoadWeightedChart() throws IOException {
+		FeatureBasicChartStyle weightChartStyle = new FeatureBasicChartStyle(
+				"testLineChart", ChartType.BAR);
+		weightChartStyle.setAttributeName(0, "attX");
+		weightChartStyle.setAttributeName(1, "attY");
+		weightChartStyle.setAttributeAggregationWeightAttributeName(1, "weight");
+	
+		
+		// In XML schreiben
+		File testFile = File.createTempFile("testWeightChart", ".xml");
+		xmlFactory.writeStyleToFile(weightChartStyle, "testWeightedhart",
+				testFile);
+		
+		// XML wieder einlesen
+		FeatureChartStyle weightChartAusXMLgelesen = xmlFactory.readStyleFromFile(testFile);
+		assertEquals("weight", weightChartAusXMLgelesen.getAttributeAggregationWeightAttributeName(1));
 
+		// Nochmal in XML schreiben
+		File testFile2 = File.createTempFile("testWeightChart", ".xml");
+		xmlFactory.writeStyleToFile(weightChartStyle, "testWeightedhart",
+				testFile2);
+		
+		// XML wieder einlesen
+		FeatureChartStyle weightChartAusXMLgelesen2 = xmlFactory.readStyleFromFile(testFile2);
+		assertEquals("weight", weightChartAusXMLgelesen2.getAttributeAggregationWeightAttributeName(1));
+
+		assertEquals(
+				"Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
+				IOUtil.readFileAsString(testFile), IOUtil.readFileAsString(testFile2));
+	}
+
 	@Test
+	public void testBarChart() 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 2x3 Features enthalten", 2 * 3,
+				testFeatures.size());
+		String groupAttribName = "kgs5"; // 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 = "krs_name"; // Attribute mit Label für Series
+		assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
+		String domainAttribName = "jahr"; // 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 lineChartStyle = new FeatureBasicChartStyle(
+				"testLineChart", ChartType.BAR);
+		lineChartStyle.setAxisStyle(0, domainAxisStyle);
+		lineChartStyle.setAxisStyle(1, rangeAxisStyle);
+
+		// Jahreszahlen sollen nicht als zahlen interpretiert werden
+		lineChartStyle.setForceCategories(true);
+
+		lineChartStyle.setAttributeName(0, domainAttribName);
+		lineChartStyle.setAttributeName(1, variablenAttribName);
+
+		lineChartStyle.setTooltips(true);
+
+		lineChartStyle.setSeriesAttributeName(groupAttribName);
+
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				lineChartStyle.getRendererStyle(0));
+
+		ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+
+		chartRendererStyle.setSeriesLegendLabel(0, new ChartLabelStyle(
+				"test 1. label"));
+
+		chartRendererStyle.setSeriesPaint(0, Color.green);
+		chartRendererStyle.setSeriesPaint(1, Color.red);
+		chartRendererStyle.setSeriesPaint(2, Color.GRAY);
+		lineChartStyle.setRendererStyle(0, chartRendererStyle);
+
+		assertEquals(3, chartRendererStyle.getSeriesCount());
+
+		JFreeChart lineChart = lineChartStyle
+				.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection liefte null!", lineChart);
+
+		BufferedImage chartpng = lineChart.createBufferedImage(600, 400);
+		assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!",
+				chartpng);
+
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"test line chart: sollen drei Balken sein!", lineChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
+	}
+	
+	@Test
 	public void testLineChart() throws IOException, CQLException, InterruptedException {
 
 		// Testdatenshape einlesen
@@ -137,7 +255,7 @@
 			}
 		}
 
-		FeatureChartStyleXMLFactory xmlFactory = new FeatureChartStyleXMLFactory();
+		
 		File testFile = File.createTempFile("testLineChart", ".xml");
 		xmlFactory.writeStyleToFile(lineChartStyle, "testLineChart", testFile);
 



More information about the Schmitzm-commits mailing list