Project Report: fawkez

Packagesummary org.jcoderz.phoenix.sqlparser

org.jcoderz.phoenix.sqlparser.SqlParserTest

LineHitsNoteSource
1  /*
2   * $Id: SqlParserTest.java 1011 2008-06-16 17:57:36Z amandel $
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   */
33  package org.jcoderz.phoenix.sqlparser;
34  
35  import java.io.File;
36  import java.io.FileFilter;
37  import java.io.FileInputStream;
38  import junit.framework.Test;
39  import junit.framework.TestCase;
40  import junit.framework.TestSuite;
41  import junit.textui.TestRunner;
42  
43  /**
44   * @author Albrecht Messner
45   */
46  public class SqlParserTest extends TestCase
47  {
48     /**
49      * Constructor for TestSqlParser.
50      * @param name the testcase name
51      */
52     public SqlParserTest (String name)
53     {
540       super(name);
550    }
56  
57     /**
58      * Main method.
59      * @param args command line args
60      */
61     public static void main (String[] args)
62     {
630       TestRunner.run(suite());
640    }
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     {
72100       final String basedir = System.getProperty("basedir", ".");
73100       final File dataDir = new File(basedir + File.separator + "test/data");
74100       final FileFilter sqlFilter = new FileFilter() {
75           public final boolean accept (File pathname)
76           {
77100             return pathname.getName().endsWith(".sql");
78           }
79        };
80100       final File[] sqlFiles = dataDir.listFiles(sqlFilter);
81100       final TestSuite suite = new TestSuite();
82  
83100       for (int i = 0; i < sqlFiles.length; i++)
84        {
85100          suite.addTest(new ParseFileTest("testSqlParser", sqlFiles[i]));
86        }
87        
88100       return suite;
89     }
90     
91     static class ParseFileTest extends TestCase
92     {
93 (1)      private File mSqlFile;
94  
95        public ParseFileTest (String name, File sqlFile)
96        {
97100          super(name);
98100          mSqlFile = sqlFile;
99100       }
100        
101        /** {@inheritDoc} */
102        protected void runTest () throws Throwable
103        {
104100          testSqlParser();
105100       }
106        
107        public void testSqlParser ()
108              throws Exception
109        {
110100          final SqlScanner scanner
111                   = new SqlScanner(new FileInputStream(mSqlFile));
112100          final SqlParser parser = new SqlParser(scanner);
113100          parser.parse();
114100       }
115     }
116  }

Findings in this File

c (1) 93 : 20 Private field 'mSqlFile' could be made final; it is only initialized in the declaration or constructor.