root/trunk/test/java/org/jcoderz/phoenix/sqlparser/SqlParserTest.java

Revision 1011, 3.6 kB (checked in by amandel, 4 years ago)

Aligned svn keyword settings.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1/*
2 * $Id$
3 *
4 * Copyright 2006, The jCoderZ.org Project. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 *
10 *    * Redistributions of source code must retain the above copyright
11 *      notice, this list of conditions and the following disclaimer.
12 *    * Redistributions in binary form must reproduce the above
13 *      copyright notice, this list of conditions and the following
14 *      disclaimer in the documentation and/or other materials
15 *      provided with the distribution.
16 *    * Neither the name of the jCoderZ.org Project nor the names of
17 *      its contributors may be used to endorse or promote products
18 *      derived from this software without specific prior written
19 *      permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS
25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
28 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
31 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 */
33package org.jcoderz.phoenix.sqlparser;
34
35import java.io.File;
36import java.io.FileFilter;
37import java.io.FileInputStream;
38import junit.framework.Test;
39import junit.framework.TestCase;
40import junit.framework.TestSuite;
41import junit.textui.TestRunner;
42
43/**
44 * @author Albrecht Messner
45 */
46public class SqlParserTest extends TestCase
47{
48   /**
49    * Constructor for TestSqlParser.
50    * @param name the testcase name
51    */
52   public SqlParserTest (String name)
53   {
54      super(name);
55   }
56
57   /**
58    * Main method.
59    * @param args command line args
60    */
61   public static void main (String[] args)
62   {
63      TestRunner.run(suite());
64   }
65
66   /**
67    * Create a new SQL parser test for all files in the test/data directory.
68    * @return the a test suite with all tests
69    */
70   public static Test suite ()
71   {
72      final String basedir = System.getProperty("basedir", ".");
73      final File dataDir = new File(basedir + File.separator + "test/data");
74      final FileFilter sqlFilter = new FileFilter() {
75         public final boolean accept (File pathname)
76         {
77            return pathname.getName().endsWith(".sql");
78         }
79      };
80      final File[] sqlFiles = dataDir.listFiles(sqlFilter);
81      final TestSuite suite = new TestSuite();
82
83      for (int i = 0; i < sqlFiles.length; i++)
84      {
85         suite.addTest(new ParseFileTest("testSqlParser", sqlFiles[i]));
86      }
87     
88      return suite;
89   }
90   
91   static class ParseFileTest extends TestCase
92   {
93      private File mSqlFile;
94
95      public ParseFileTest (String name, File sqlFile)
96      {
97         super(name);
98         mSqlFile = sqlFile;
99      }
100     
101      /** {@inheritDoc} */
102      protected void runTest () throws Throwable
103      {
104         testSqlParser();
105      }
106     
107      public void testSqlParser ()
108            throws Exception
109      {
110         final SqlScanner scanner
111                 = new SqlScanner(new FileInputStream(mSqlFile));
112         final SqlParser parser = new SqlParser(scanner);
113         parser.parse();
114      }
115   }
116}
Note: See TracBrowser for help on using the browser.