KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > krysalis > jcharts > test > StockTestDriver


1 /***********************************************************************************************
2  * File Info: $Id: StockTestDriver.java,v 1.1 2003/05/17 17:01:14 nathaniel_auvil Exp $
3  * Copyright (C) 2000
4  * Author: Nathaniel G. Auvil
5  * Contributor(s):
6  *
7  * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
8  *
9  * Redistribution and use of this software and associated documentation
10  * ("Software"), with or without modification, are permitted provided
11  * that the following conditions are met:
12  *
13  * 1. Redistributions of source code must retain copyright
14  * statements and notices. Redistributions must also contain a
15  * copy of this document.
16  *
17  * 2. Redistributions in binary form must reproduce the
18  * above copyright notice, this list of conditions and the
19  * following disclaimer in the documentation and/or other
20  * materials provided with the distribution.
21  *
22  * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to
23  * endorse or promote products derived from this Software without
24  * prior written permission of Nathaniel G. Auvil. For written
25  * permission, please contact nathaniel_auvil@users.sourceforge.net
26  *
27  * 4. Products derived from this Software may not be called "jCharts"
28  * nor may "jCharts" appear in their names without prior written
29  * permission of Nathaniel G. Auvil. jCharts is a registered
30  * trademark of Nathaniel G. Auvil.
31  *
32  * 5. Due credit should be given to the jCharts Project
33  * (http://jcharts.sourceforge.net/).
34  *
35  * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS
36  * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
37  * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
38  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
39  * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
40  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
41  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
42  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46  * OF THE POSSIBILITY OF SUCH DAMAGE.
47  ************************************************************************************************/

48
49 package org.krysalis.jcharts.test;
50
51
52 import org.krysalis.jcharts.chartData.*;
53 import org.krysalis.jcharts.properties.ChartTypeProperties;
54 import org.krysalis.jcharts.properties.StockChartProperties;
55
56 import java.awt.*;
57
58
59 /******************************************************************************************
60  * This file provides examples of how to create all the different chart types provided by
61  * this package.
62  *
63  *******************************************************************************************/

64 public final class StockTestDriver extends AxisChartTestBase
65 {
66     boolean supportsImageMap()
67     {
68         return true;
69     }
70
71     /******************************************************************************************
72      * Separate this so can use for combo chart test
73      *
74      ******************************************************************************************/

75     static ChartTypeProperties getChartTypeProperties( int numberOfDataSets )
76     {
77         StockChartProperties stockChartProperties=new StockChartProperties();
78         return stockChartProperties;
79     }
80
81
82     /******************************************************************************************
83      * Test for LineChart
84      *
85      * @throws ChartDataException
86      ******************************************************************************************/

87     DataSeries getDataSeries() throws ChartDataException
88     {
89         int dataSize=(int) TestDataGenerator.getRandomNumber( 2, 25 );
90         int numberOfDataSets=1;
91
92         DataSeries dataSeries=super.createDataSeries( dataSize );
93         StockChartDataSet stockChartDataSet;
94
95
96         double[] highs=TestDataGenerator.getRandomNumbers( dataSize, 500, 1000 );
97         double[] lows=TestDataGenerator.getRandomNumbers( dataSize, 100, 300 );
98         double[] opens=TestDataGenerator.getRandomNumbers( dataSize, 350, 450 );
99         double[] closes=TestDataGenerator.getRandomNumbers( dataSize, 350, 450 );
100
101         StockChartProperties stockChartProperties=new StockChartProperties();
102
103         stockChartDataSet=new StockChartDataSet( highs, "High", lows, "Low", Color.black, stockChartProperties );
104         stockChartDataSet.setOpenValues( opens, "Open", Color.red );
105         stockChartDataSet.setCloseValues( closes, "Close", Color.green );
106
107         String JavaDoc[] legendLabels=TestDataGenerator.getRandomStrings( numberOfDataSets, 10, false );
108         Paint[] paints=TestDataGenerator.getRandomPaints( numberOfDataSets );
109
110
111         dataSeries.addIAxisPlotDataSet( stockChartDataSet );
112
113
114         return dataSeries;
115     }
116 }
117
Popular Tags