Strabon

changeset 165:3b5c0610b747

Add inputFile argument in TemplateTests.beforeClass
author George Garbis <ggarbis@di.uoa.gr>
date Fri May 18 15:47:31 2012 +0300 (2012-05-18)
parents 18a4e7fd3922
children fe2a47b9de64
files runtime/src/test/java/eu/earthobservatory/runtime/generaldb/AggregateTests.java runtime/src/test/java/eu/earthobservatory/runtime/generaldb/SimpleTests.java runtime/src/test/java/eu/earthobservatory/runtime/monetdb/SimpleTests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/AggregateTests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/GeneralTests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/HavingTests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/JoinTests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/MeaningfulAggregateTests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/SPARQL11Tests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/SimpleTests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/TemplateTests.java runtime/src/test/java/eu/earthobservatory/runtime/postgis/TransformTests.java
line diff
     1.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/generaldb/AggregateTests.java	Fri May 18 13:48:39 2012 +0300
     1.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/generaldb/AggregateTests.java	Fri May 18 15:47:31 2012 +0300
     1.3 @@ -2,11 +2,7 @@
     1.4  
     1.5  import java.io.IOException;
     1.6  import java.net.URL;
     1.7 -import java.sql.DriverManager;
     1.8 -import java.sql.SQLException;
     1.9 -import java.sql.Statement;
    1.10  
    1.11 -import org.junit.AfterClass;
    1.12  import org.junit.Test;
    1.13  import org.openrdf.query.MalformedQueryException;
    1.14  import org.openrdf.query.QueryEvaluationException;
    1.15 @@ -15,7 +11,6 @@
    1.16  import org.openrdf.rio.RDFHandlerException;
    1.17  import org.openrdf.rio.RDFParseException;
    1.18  
    1.19 -import eu.earthobservatory.runtime.generaldb.Strabon;
    1.20  import eu.earthobservatory.runtime.postgis.SimpleTests;
    1.21  
    1.22  public class AggregateTests {
    1.23 @@ -39,7 +34,7 @@
    1.24  	protected static void loadTestData()
    1.25  			throws RDFParseException, RepositoryException, IOException, RDFHandlerException, InvalidDatasetFormatFault
    1.26  		{
    1.27 -			URL src = SimpleTests.class.getResource("/simple-tests.ntriples");
    1.28 +			URL src = SimpleTests.class.getResource("/aggregate-tests.ntriples");
    1.29  			strabon.storeInRepo(src, "NTRIPLES");
    1.30  		}
    1.31  
    1.32 @@ -53,7 +48,7 @@
    1.33  
    1.34  	String queryGroupBy1 = 
    1.35  		prefixes+
    1.36 -		"SELECT (?placegeo AS ?xxx)  (AVG(?placegeo) AS ?av)  (strdf:union(?placegeo) AS ?united) "+
    1.37 +		"SELECT (?placegeo AS ?xxx) (AVG(?placegeo) AS ?av)  (strdf:union(?placegeo) AS ?united) "+
    1.38  		"WHERE {  "+
    1.39  		"?place  "+
    1.40  		"rdfs:label ?placename ; "+ 	
    1.41 @@ -95,7 +90,7 @@
    1.42  
    1.43  	String queryOrder1 =
    1.44  		prefixes+
    1.45 -		"SELECT ?placegeo ?place (strdf:union(?placegeo,?placegeo) AS ?koko) (strdf:union(?placegeo,?placegeo) AS ?kiki) "+ 
    1.46 +		"SELECT ?placegeo ?place (strdf:union(?placegeo) AS ?koko) (strdf:union(?placegeo,?placegeo) AS ?kiki) "+ 
    1.47  		"WHERE { "+ 
    1.48  		"?place "+ 
    1.49  		"rdfs:label ?placename ; "+ 	
    1.50 @@ -124,7 +119,6 @@
    1.51  	public void testQueryGroupBy1() throws MalformedQueryException, QueryEvaluationException, TupleQueryResultHandlerException, IOException
    1.52  	{
    1.53  		strabon.query(queryGroupBy1,strabon.getSailRepoConnection());
    1.54 -
    1.55  	}
    1.56  
    1.57  	@Test
     2.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/generaldb/SimpleTests.java	Fri May 18 13:48:39 2012 +0300
     2.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/generaldb/SimpleTests.java	Fri May 18 15:47:31 2012 +0300
     2.3 @@ -4,7 +4,6 @@
     2.4  import static org.junit.Assert.assertTrue;
     2.5  
     2.6  import java.io.IOException;
     2.7 -import java.net.URL;
     2.8  import java.util.ArrayList;
     2.9  
    2.10  import org.junit.Test;
    2.11 @@ -13,11 +12,6 @@
    2.12  import org.openrdf.query.MalformedQueryException;
    2.13  import org.openrdf.query.QueryEvaluationException;
    2.14  import org.openrdf.query.TupleQueryResultHandlerException;
    2.15 -import org.openrdf.repository.RepositoryException;
    2.16 -import org.openrdf.rio.RDFHandlerException;
    2.17 -import org.openrdf.rio.RDFParseException;
    2.18 -
    2.19 -import eu.earthobservatory.runtime.generaldb.Strabon;
    2.20  
    2.21  /**
    2.22   * A set of simple tests on SPARQL query functionality 
    2.23 @@ -50,13 +44,6 @@
    2.24  		"PREFIX xsd: <"+XMLSchema.NAMESPACE+"> \n" +
    2.25  		"PREFIX ex: <"+EX_NS+"> \n" +
    2.26  		"PREFIX noa: <"+NOA_NS+"> \n";
    2.27 -		
    2.28 -	protected static void loadTestData()
    2.29 -		throws RDFParseException, RepositoryException, IOException, RDFHandlerException, InvalidDatasetFormatFault
    2.30 -	{
    2.31 -		URL src = SimpleTests.class.getResource("/simple-tests.ntriples");
    2.32 -		strabon.storeInRepo(src, "NTRIPLES");
    2.33 -	}
    2.34  	
    2.35  	@Test
    2.36  	public void testSimpleFilter() throws MalformedQueryException, QueryEvaluationException, TupleQueryResultHandlerException, IOException, QueryEvaluationException
     3.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/monetdb/SimpleTests.java	Fri May 18 13:48:39 2012 +0300
     3.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/monetdb/SimpleTests.java	Fri May 18 15:47:31 2012 +0300
     3.3 @@ -15,6 +15,7 @@
     3.4  import org.openrdf.rio.RDFParseException;
     3.5  
     3.6  import eu.earthobservatory.runtime.generaldb.InvalidDatasetFormatFault;
     3.7 +import eu.earthobservatory.runtime.generaldb.TransformTests;
     3.8  
     3.9  /**
    3.10   * A set of simple tests on SPARQL query functionality 
    3.11 @@ -27,42 +28,13 @@
    3.12  	@BeforeClass
    3.13  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
    3.14  	{
    3.15 -		// Read properties
    3.16 -		Properties properties = new Properties();
    3.17 -		InputStream propertiesStream =  SimpleTests.class.getResourceAsStream("/databases.properties");
    3.18 -		properties.load(propertiesStream);
    3.19 -
    3.20 -		serverName = properties.getProperty("monetdb.serverName");
    3.21 -		databaseName = properties.getProperty("monetdb.databaseName");
    3.22 -		port = Integer.parseInt(properties.getProperty("monetdb.port"));
    3.23 -		username = properties.getProperty("monetdb.username");
    3.24 -		password = properties.getProperty("monetdb.password");
    3.25 -				
    3.26 -		// Connect to database
    3.27 -		Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
    3.28 -		String url = "jdbc:monetdb://"+serverName+":"+port+"/"+databaseName;
    3.29 -		conn = DriverManager.getConnection(url, username, password);
    3.30 -				
    3.31 -//		// Clean database
    3.32 -		Statement stmt = conn.createStatement();
    3.33 -		ResultSet results = stmt.executeQuery("SELECT name FROM tables WHERE system=false AND name <> 'locked'");
    3.34 -		while (results.next()) {
    3.35 -			String table_name = results.getString("name");
    3.36 -			Statement stmt2 = conn.createStatement();
    3.37 -			stmt2.executeUpdate("DROP TABLE \""+table_name+"\"");
    3.38 -			stmt2.close();
    3.39 -		}
    3.40 -		stmt.close();
    3.41 -		
    3.42 -		strabon = new Strabon(databaseName, username, password, port, serverName, true);
    3.43 -		
    3.44 -		loadTestData();
    3.45 +		TemplateTests.beforeClass("/simple-tests.ntriples");
    3.46  	}
    3.47  	
    3.48  	@AfterClass
    3.49  	public static void afterClass() throws SQLException
    3.50  	{
    3.51 -		strabon.close();
    3.52 +		TemplateTests.afterClass();
    3.53  	}
    3.54  	
    3.55  //	/**
     4.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/AggregateTests.java	Fri May 18 13:48:39 2012 +0300
     4.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/AggregateTests.java	Fri May 18 15:47:31 2012 +0300
     4.3 @@ -1,12 +1,7 @@
     4.4  package eu.earthobservatory.runtime.postgis;
     4.5  
     4.6  import java.io.IOException;
     4.7 -import java.io.InputStream;
     4.8 -import java.sql.DriverManager;
     4.9 -import java.sql.ResultSet;
    4.10  import java.sql.SQLException;
    4.11 -import java.sql.Statement;
    4.12 -import java.util.Properties;
    4.13  
    4.14  import org.junit.AfterClass;
    4.15  import org.junit.BeforeClass;
    4.16 @@ -22,12 +17,14 @@
    4.17   * @author George Garbis
    4.18   */
    4.19  
    4.20 -public class AggregateTests extends eu.earthobservatory.runtime.generaldb.SimpleTests {
    4.21 +public class AggregateTests extends eu.earthobservatory.runtime.generaldb.AggregateTests {
    4.22  	
    4.23  	@BeforeClass
    4.24  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
    4.25  	{
    4.26 -	 TemplateTests.beforeClass();
    4.27 +		TemplateTests.beforeClass("/aggregate-tests.ntriples");
    4.28 +		
    4.29 +//		strabon = new Strabon("aggregate-tests-srid", "postgres", "p1r3as", 5432, "strabon.di.uoa.gr", true);
    4.30  	}
    4.31  	
    4.32  	@AfterClass
     5.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/GeneralTests.java	Fri May 18 13:48:39 2012 +0300
     5.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/GeneralTests.java	Fri May 18 15:47:31 2012 +0300
     5.3 @@ -22,12 +22,12 @@
     5.4   * @author George Garbis
     5.5   */
     5.6  
     5.7 -public class GeneralTests extends eu.earthobservatory.runtime.generaldb.SimpleTests {
     5.8 +public class GeneralTests extends eu.earthobservatory.runtime.generaldb.GeneralTests {
     5.9  	
    5.10  	@BeforeClass
    5.11  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
    5.12  	{
    5.13 -	 TemplateTests.beforeClass();
    5.14 +	 TemplateTests.beforeClass("/generalTests");
    5.15  	}
    5.16  	
    5.17  	@AfterClass
     6.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/HavingTests.java	Fri May 18 13:48:39 2012 +0300
     6.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/HavingTests.java	Fri May 18 15:47:31 2012 +0300
     6.3 @@ -22,12 +22,12 @@
     6.4   * @author George Garbis
     6.5   */
     6.6  
     6.7 -public class HavingTests extends eu.earthobservatory.runtime.generaldb.SimpleTests {
     6.8 +public class HavingTests extends eu.earthobservatory.runtime.generaldb.HavingTests {
     6.9  	
    6.10  	@BeforeClass
    6.11  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
    6.12  	{
    6.13 -	 TemplateTests.beforeClass();
    6.14 +	 TemplateTests.beforeClass("/having-tests.ntriples");
    6.15  	}
    6.16  	
    6.17  	@AfterClass
     7.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/JoinTests.java	Fri May 18 13:48:39 2012 +0300
     7.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/JoinTests.java	Fri May 18 15:47:31 2012 +0300
     7.3 @@ -22,12 +22,12 @@
     7.4   * @author George Garbis
     7.5   */
     7.6  
     7.7 -public class JoinTests extends eu.earthobservatory.runtime.generaldb.SimpleTests {
     7.8 +public class JoinTests extends eu.earthobservatory.runtime.generaldb.JoinTests {
     7.9  	
    7.10  	@BeforeClass
    7.11  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
    7.12  	{
    7.13 -	 TemplateTests.beforeClass();
    7.14 +	 TemplateTests.beforeClass("/join-tests.ntriples");
    7.15  	}
    7.16  	
    7.17  	@AfterClass
     8.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/MeaningfulAggregateTests.java	Fri May 18 13:48:39 2012 +0300
     8.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/MeaningfulAggregateTests.java	Fri May 18 15:47:31 2012 +0300
     8.3 @@ -22,13 +22,13 @@
     8.4   * @author George Garbis
     8.5   */
     8.6  
     8.7 -public class MeaningfulAggregateTests extends eu.earthobservatory.runtime.generaldb.SimpleTests {
     8.8 +public class MeaningfulAggregateTests extends eu.earthobservatory.runtime.generaldb.MeaningfulAggregateTests {
     8.9  	
    8.10  	
    8.11  	@BeforeClass
    8.12  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
    8.13  	{
    8.14 -		TemplateTests.beforeClass();
    8.15 +		TemplateTests.beforeClass("/meaningful-aggregate-tests.ntriples");
    8.16  	}
    8.17  	
    8.18  	@AfterClass
     9.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/SPARQL11Tests.java	Fri May 18 13:48:39 2012 +0300
     9.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/SPARQL11Tests.java	Fri May 18 15:47:31 2012 +0300
     9.3 @@ -22,12 +22,12 @@
     9.4   * @author George Garbis
     9.5   */
     9.6  
     9.7 -public class SPARQL11Tests extends eu.earthobservatory.runtime.generaldb.SimpleTests {
     9.8 +public class SPARQL11Tests extends eu.earthobservatory.runtime.generaldb.SPARQL11Tests {
     9.9  	
    9.10  	@BeforeClass
    9.11  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
    9.12  	{
    9.13 -	 TemplateTests.beforeClass();
    9.14 +	 TemplateTests.beforeClass("/sparql11-tests.ntriples");
    9.15  	}
    9.16  	
    9.17  	@AfterClass
    10.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/SimpleTests.java	Fri May 18 13:48:39 2012 +0300
    10.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/SimpleTests.java	Fri May 18 15:47:31 2012 +0300
    10.3 @@ -1,12 +1,7 @@
    10.4  package eu.earthobservatory.runtime.postgis;
    10.5  
    10.6  import java.io.IOException;
    10.7 -import java.io.InputStream;
    10.8 -import java.sql.DriverManager;
    10.9 -import java.sql.ResultSet;
   10.10  import java.sql.SQLException;
   10.11 -import java.sql.Statement;
   10.12 -import java.util.Properties;
   10.13  
   10.14  import org.junit.AfterClass;
   10.15  import org.junit.BeforeClass;
   10.16 @@ -27,45 +22,13 @@
   10.17  	@BeforeClass
   10.18  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
   10.19  	{
   10.20 -		// Read properties
   10.21 -		Properties properties = new Properties();
   10.22 -		InputStream propertiesStream =  SimpleTests.class.getResourceAsStream("/databases.properties");
   10.23 -		properties.load(propertiesStream);
   10.24 -
   10.25 -		serverName = properties.getProperty("postgis.serverName");
   10.26 -		databaseName = properties.getProperty("postgis.databaseName");
   10.27 -		port = Integer.parseInt(properties.getProperty("postgis.port"));
   10.28 -		username = properties.getProperty("postgis.username");
   10.29 -		password = properties.getProperty("postgis.password");
   10.30 -				
   10.31 -		// Connect to database
   10.32 -		Class.forName("org.postgresql.Driver");
   10.33 -		String url = "jdbc:postgresql://"+serverName+":"+port+"/"+databaseName;
   10.34 -		conn = DriverManager.getConnection(url, username, password);
   10.35 -				
   10.36 -//		// Clean database
   10.37 -		Statement stmt = conn.createStatement();
   10.38 -		ResultSet results = stmt.executeQuery("SELECT table_name FROM information_schema.tables WHERE " +
   10.39 -						"table_schema='public' AND table_name <> 'spatial_ref_sys' " +
   10.40 -						"AND table_name <> 'geometry_columns' AND " +
   10.41 -						"table_name <> 'geography_columns' AND table_name <> 'locked'");
   10.42 -		while (results.next()) {
   10.43 -			String table_name = results.getString("table_name");
   10.44 -			Statement stmt2 = conn.createStatement();
   10.45 -			stmt2.executeUpdate("DROP TABLE \""+table_name+"\"");
   10.46 -			stmt2.close();
   10.47 -		}
   10.48 -		stmt.close();
   10.49 -		
   10.50 -	    strabon = new Strabon(databaseName, username, password, port, serverName, true);
   10.51 -		
   10.52 -		loadTestData();
   10.53 +		TemplateTests.beforeClass("/simple-tests.ntriples");
   10.54  	}
   10.55  	
   10.56  	@AfterClass
   10.57  	public static void afterClass() throws SQLException
   10.58  	{
   10.59 -		strabon.close();
   10.60 +		TemplateTests.afterClass();
   10.61  	}
   10.62  	
   10.63  //	/**
    11.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/TemplateTests.java	Fri May 18 13:48:39 2012 +0300
    11.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/TemplateTests.java	Fri May 18 15:47:31 2012 +0300
    11.3 @@ -2,6 +2,7 @@
    11.4  
    11.5  import java.io.IOException;
    11.6  import java.io.InputStream;
    11.7 +import java.net.URL;
    11.8  import java.sql.DriverManager;
    11.9  import java.sql.ResultSet;
   11.10  import java.sql.SQLException;
   11.11 @@ -15,6 +16,8 @@
   11.12  import org.openrdf.rio.RDFParseException;
   11.13  
   11.14  import eu.earthobservatory.runtime.generaldb.InvalidDatasetFormatFault;
   11.15 +import eu.earthobservatory.runtime.generaldb.SimpleTests;
   11.16 +import eu.earthobservatory.runtime.postgis.Strabon;
   11.17  
   11.18  /**
   11.19   * A set of simple tests on SPARQL query functionality 
   11.20 @@ -22,10 +25,22 @@
   11.21   * @author George Garbis
   11.22   */
   11.23  
   11.24 -public class TemplateTests extends eu.earthobservatory.runtime.generaldb.SimpleTests {
   11.25 +public class TemplateTests {
   11.26 +	
   11.27 +	public static Strabon strabon;
   11.28 +
   11.29 +	public static java.sql.Connection conn = null;
   11.30 +	public static String databaseName = null; 
   11.31 +
   11.32 +	public static String jdbcDriver = null;
   11.33 +	public static String serverName = null;
   11.34 +	public static String username = null;
   11.35 +	public static String password = null;
   11.36 +	public static Integer port = null;
   11.37  	
   11.38  	@BeforeClass
   11.39 -	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
   11.40 +	public static void beforeClass(String inputFile)
   11.41 +		throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
   11.42  	{
   11.43  		// Read properties
   11.44  		Properties properties = new Properties();
   11.45 @@ -59,7 +74,7 @@
   11.46  		
   11.47  	    strabon = new Strabon(databaseName, username, password, port, serverName, true);
   11.48  		
   11.49 -		loadTestData();
   11.50 +		loadTestData(inputFile);
   11.51  	}
   11.52  	
   11.53  	@AfterClass
   11.54 @@ -68,6 +83,13 @@
   11.55  		strabon.close();
   11.56  	}
   11.57  	
   11.58 +	protected static void loadTestData(String inputFile)
   11.59 +		throws RDFParseException, RepositoryException, IOException, RDFHandlerException, InvalidDatasetFormatFault
   11.60 +	{
   11.61 +		URL src = SimpleTests.class.getResource("/simple-tests.ntriples");
   11.62 +		strabon.storeInRepo(src, "NTRIPLES");
   11.63 +	}
   11.64 +	
   11.65  //	/**
   11.66  //	 * @throws java.lang.Exception
   11.67  //	 */
    12.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/postgis/TransformTests.java	Fri May 18 13:48:39 2012 +0300
    12.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/postgis/TransformTests.java	Fri May 18 15:47:31 2012 +0300
    12.3 @@ -22,12 +22,12 @@
    12.4   * @author George Garbis
    12.5   */
    12.6  
    12.7 -public class TransformTests extends eu.earthobservatory.runtime.generaldb.SimpleTests {
    12.8 +public class TransformTests extends eu.earthobservatory.runtime.generaldb.TransformTests {
    12.9  	
   12.10  	@BeforeClass
   12.11  	public static void beforeClass() throws SQLException, ClassNotFoundException, RDFParseException, RepositoryException, RDFHandlerException, IOException, InvalidDatasetFormatFault
   12.12  	{
   12.13 -	 TemplateTests.beforeClass();
   12.14 +	 TemplateTests.beforeClass("/transform-tests.ntriples");
   12.15  	}
   12.16  	
   12.17  	@AfterClass