diff --git a/test/osm/jp/coverage/AllTest.java b/test/osm/jp/coverage/AllTest.java new file mode 100644 index 0000000..3e1c7a5 --- /dev/null +++ b/test/osm/jp/coverage/AllTest.java @@ -0,0 +1,39 @@ +package osm.jp.coverage; + +import java.io.File; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + osm.jp.coverage.busstop.AllTest.class, + osm.jp.coverage.fuel.AllTest.class, + osm.jp.coverage.postoffice.AllTest.class, + osm.jp.coverage.police.AllTest.class +}) +public class AllTest { + + @BeforeClass + public static void setUpClass() throws Exception { + File dir = new File("database"); + dir.deleteOnExit(); + dir.mkdir(); + } + + @AfterClass + public static void tearDownClass() throws Exception { + } + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + +} diff --git a/test/osm/jp/coverage/PoiTest.java b/test/osm/jp/coverage/PoiTest.java new file mode 100644 index 0000000..c307fdb --- /dev/null +++ b/test/osm/jp/coverage/PoiTest.java @@ -0,0 +1,122 @@ +package osm.jp.coverage; + +import java.io.IOException; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.logging.Level; +import java.util.logging.Logger; +import jp.co.areaweb.tools.database.DatabaseTool; +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.fail; +import osm.jp.coverage.postoffice.PostofficeTest; + +public class PoiTest { + + /** + * 許容できる誤差は 0.00000009D 固定 + * @param rset 調べる値(フィールド名:"lat" or "lon") + * @param latStr 基準となる値 + * @param lonStr 許容できる誤差 + * @return + * @throws SQLException + */ + public static boolean checkRenge(ResultSet rset, String latStr, String lonStr) throws SQLException { + return checkRenge(rset, latStr, lonStr, 0.00000009D); + } + + /** + * + * @param rset 調べる値(フィールド名:"lat" or "lon") + * @param latStr 基準となる値 + * @param lonStr 基準となる値 + * @param delta 許容できる誤差 + * @return + * @throws SQLException + */ + public static boolean checkRenge(ResultSet rset, String latStr, String lonStr, double delta) throws SQLException { + if (checkRenge(rset.getDouble("lat"), latStr, delta)) { + if (checkRenge(rset.getDouble("lon"), lonStr, delta)) { + return true; + } + } + return false; + } + + /** + * + * @param d1 調べる値 + * @param str 基準となる値 + * @param delta 許容できる誤差 + * @return 許容値内ならばtrue + * @throws SQLException + */ + public static boolean checkRenge(double d1, String str, double delta) throws SQLException { + double base = Double.parseDouble(str); + double up = d1 + delta; + double down = d1 - delta; + boolean ret = true; + if (Double.compare(base, up) > 0) { + ret = false; + } + if (Double.compare(base, down) < 0) { + ret = false; + } + System.out.println("d1: "+ d1 +" : "+ str +" --> "+ (ret ? "IN" : "out")); + return ret; + } + + /** + * + * + * @param tableName DbPostoffice.TABLE_NAME + * @param lat 35.43035D; // 35.43035 35.4305614, 139.3662339 + * @param lon 139.36622D + * @param fixed1 + * @return + */ + public String getRefid(String tableName, double lat, double lon, int fixed1) { + String ret = ""; + + Connection hsqldb = null; + try { + hsqldb = DatabaseTool.openDb("database"); + + String where = String.format("(lat > '%s') and (lat < '%s') and (lon > '%s') and (lon < '%s')", + String.valueOf(lat-0.001D), String.valueOf(lat+0.001D), + String.valueOf(lon-0.001D), String.valueOf(lon+0.001D)); + String sql = String.format("SELECT * FROM %s WHERE %s", tableName, where); + System.out.println(sql); + PreparedStatement ps1 = hsqldb.prepareStatement(sql); + try (ResultSet rset1 = ps1.executeQuery()) { + while (rset1.next()) { + int v = rset1.getInt("fixed1"); + System.out.println("{"); + System.out.println("idref:" + rset1.getString("idref")); + System.out.println("gid:" + rset1.getString("gid")); + System.out.println("area:" + rset1.getInt("area")); + System.out.println("fixed:" + rset1.getInt("fixed")); + System.out.println("fixed1:" + v); + System.out.println("lat:" + rset1.getDouble("lat")); + System.out.println("lon:" + rset1.getDouble("lon")); + System.out.println("}"); + if (ret.length() > 0) { + ret += ","; + } + ret += rset1.getString("idref"); + assertThat(v, is(fixed1)); + return ret; + } + fail("該当のデータがミツカラナイ"); + } + } catch (IOException | ClassNotFoundException | SQLException ex) { + Logger.getLogger(PostofficeTest.class.getName()).log(Level.SEVERE, null, ex); + fail(ex.toString()); + } finally { + DatabaseTool.closeDb(hsqldb); + } + return ret; + } +} diff --git a/test/osm/jp/coverage/busstop/BusstopTest.java b/test/osm/jp/coverage/busstop/BusstopTest.java index acbf41e..6314b0b 100644 --- a/test/osm/jp/coverage/busstop/BusstopTest.java +++ b/test/osm/jp/coverage/busstop/BusstopTest.java @@ -19,6 +19,7 @@ import osm.jp.api.HttpPOST; import osm.jp.api.Japan; import osm.jp.api.RectArea; +import osm.jp.coverage.PoiTest; import static osm.jp.coverage.busstop.Busstop.NEER; import osm.jp.coverage.fuel.Fuel; @@ -26,7 +27,7 @@ * * @author yuu */ -public class BusstopTest { +public class BusstopTest extends PoiTest { @Before public void setUp() throws Exception { } @@ -265,27 +266,4 @@ } } - boolean checkRenge(ResultSet rset, String latStr, String lonStr) throws SQLException { - if (checkRenge(rset.getDouble("lat"), latStr)) { - if (checkRenge(rset.getDouble("lon"), lonStr)) { - return true; - } - } - return false; - } - - boolean checkRenge(double d1, String str) throws SQLException { - double base = Double.parseDouble(str); - double up = d1 + 0.00000009D; - double down = d1 - 0.00000009D; - boolean ret = true; - if (Double.compare(base, up) > 0) { - ret = false; - } - if (Double.compare(base, down) < 0) { - ret = false; - } - System.out.println("d1: "+ d1 +" : "+ str +" --> "+ (ret ? "IN" : "out")); - return ret; - } } diff --git a/test/osm/jp/coverage/fuel/FuelTest.java b/test/osm/jp/coverage/fuel/FuelTest.java index 1dba643..5e0d8c2 100644 --- a/test/osm/jp/coverage/fuel/FuelTest.java +++ b/test/osm/jp/coverage/fuel/FuelTest.java @@ -12,9 +12,10 @@ import static org.junit.Assert.*; import org.junit.runners.MethodSorters; import osm.jp.api.HttpPOST; +import osm.jp.coverage.PoiTest; @FixMethodOrder (MethodSorters.NAME_ASCENDING) -public class FuelTest { +public class FuelTest extends PoiTest{ @Before public void setUp() throws Exception { } @@ -73,30 +74,6 @@ } } - boolean checkRenge(ResultSet rset, String latStr, String lonStr) throws SQLException { - if (checkRenge(rset.getDouble("lat"), latStr)) { - if (checkRenge(rset.getDouble("lon"), lonStr)) { - return true; - } - } - return false; - } - - boolean checkRenge(double d1, String str) throws SQLException { - double base = Double.parseDouble(str); - double up = d1 + 0.00000009D; - double down = d1 - 0.00000009D; - boolean ret = true; - if (Double.compare(base, up) > 0) { - ret = false; - } - if (Double.compare(base, down) < 0) { - ret = false; - } - System.out.println("d1: "+ d1 +" : "+ str +" --> "+ (ret ? "IN" : "out")); - return ret; - } - /** * OSM: 5338111023 removed:amenity=fuel 35.4305614, 139.3662339 * GML: 14, n00375 @@ -123,7 +100,7 @@ double lat = 35.43035D; // 35.43035 35.4305614, 139.3662339 double lon = 139.36622D; //139.36622 - String idrefs = getRefid(lat, lon); + String idrefs = getRefid(DbFuel.TABLE_NAME, lat, lon, 50); System.out.println(idrefs); } @@ -135,53 +112,7 @@ public void test92_normal() { double lat = 35.4214195D; double lon = 139.3600994D; - String idrefs = getRefid(lat, lon); + String idrefs = getRefid(DbFuel.TABLE_NAME, lat, lon, 50); System.out.println(idrefs); } - - /** - * - * - * @param lat 35.43035D; // 35.43035 35.4305614, 139.3662339 - * @param lon 139.36622D - * @return - */ - public String getRefid(double lat, double lon) { - String ret = ""; - - Connection hsqldb = null; - try { - hsqldb = DatabaseTool.openDb("database"); - - String where = String.format("(lat > '%s') and (lat < '%s') and (lon > '%s') and (lon < '%s')", - String.valueOf(lat-0.001D), String.valueOf(lat+0.001D), - String.valueOf(lon-0.001D), String.valueOf(lon+0.001D)); - String sql = String.format("SELECT * FROM %s WHERE %s", DbFuel.TABLE_NAME, where); - System.out.println(sql); - PreparedStatement ps1 = hsqldb.prepareStatement(sql); - try (ResultSet rset1 = ps1.executeQuery()) { - while (rset1.next()) { - System.out.println("{"); - System.out.println("idref:" + rset1.getString("idref")); - System.out.println("gid:" + rset1.getString("gid")); - System.out.println("area:" + rset1.getInt("area")); - System.out.println("fixed:" + rset1.getInt("fixed")); - System.out.println("fixed1:" + rset1.getInt("fixed1")); - System.out.println("lat:" + rset1.getDouble("lat")); - System.out.println("lon:" + rset1.getDouble("lon")); - System.out.println("}"); - if (ret.length() > 0) { - ret += ","; - } - ret += rset1.getString("idref"); - } - } - } catch (IOException | ClassNotFoundException | SQLException ex) { - Logger.getLogger(FuelTest.class.getName()).log(Level.SEVERE, null, ex); - fail(ex.toString()); - } finally { - DatabaseTool.closeDb(hsqldb); - } - return ret; - } } diff --git a/test/osm/jp/coverage/police/PoliceTest.java b/test/osm/jp/coverage/police/PoliceTest.java index e6957d5..c8d2f05 100644 --- a/test/osm/jp/coverage/police/PoliceTest.java +++ b/test/osm/jp/coverage/police/PoliceTest.java @@ -15,9 +15,10 @@ import org.junit.runners.MethodSorters; import org.xml.sax.SAXException; import osm.jp.api.HttpPOST; +import osm.jp.coverage.PoiTest; @FixMethodOrder (MethodSorters.NAME_ASCENDING) -public class PoliceTest { +public class PoliceTest extends PoiTest { @Before public void setUp() throws Exception { } @@ -44,59 +45,10 @@ */ @Test public void test01_dataread() { - Connection hsqldb = null; - try { - hsqldb = DatabaseTool.openDb("database"); - - double lat = 35.43035D; // 35.43035 35.4305614, 139.3662339 - double lon = 139.36622D; //139.36622 - String where = String.format("(lat > '%s') and (lat < '%s') and (lon > '%s') and (lon < '%s')", - String.valueOf(lat-0.001D), String.valueOf(lat+0.001D), - String.valueOf(lon-0.001D), String.valueOf(lon+0.001D)); - String sql = String.format("SELECT * FROM %s WHERE %s", DbPolice.TABLE_NAME, where); - PreparedStatement ps1 = hsqldb.prepareStatement(sql); - try (ResultSet rset1 = ps1.executeQuery()) { - while (rset1.next()) { - System.out.println(rset1.getString("idref")); - System.out.println(rset1.getString("gid")); - System.out.println(rset1.getInt("area")); - System.out.println(rset1.getInt("fixed")); - System.out.println(rset1.getInt("fixed1")); - System.out.println(rset1.getDouble("lat")); - System.out.println(rset1.getDouble("lon")); - } - } - - } catch (IOException | ClassNotFoundException | SQLException ex) { - Logger.getLogger(PoliceTest.class.getName()).log(Level.SEVERE, null, ex); - fail(ex.toString()); - } finally { - DatabaseTool.closeDb(hsqldb); - } - } - - boolean checkRenge(ResultSet rset, String latStr, String lonStr) throws SQLException { - if (checkRenge(rset.getDouble("lat"), latStr)) { - if (checkRenge(rset.getDouble("lon"), lonStr)) { - return true; - } - } - return false; - } - - boolean checkRenge(double d1, String str) throws SQLException { - double base = Double.parseDouble(str); - double up = d1 + 0.00000009D; - double down = d1 - 0.00000009D; - boolean ret = true; - if (Double.compare(base, up) > 0) { - ret = false; - } - if (Double.compare(base, down) < 0) { - ret = false; - } - System.out.println("d1: "+ d1 +" : "+ str +" --> "+ (ret ? "IN" : "out")); - return ret; + double lat = 35.43035D; // 35.43035 35.4305614, 139.3662339 + double lon = 139.36622D; //139.36622 + String idrefs = getRefid(DbPolice.TABLE_NAME, lat, lon, 50); + System.out.println(idrefs); } /** @@ -105,26 +57,9 @@ */ @Test public void test91_removed() { - Connection hsqldb = null; - String sql1 = String.format("SELECT * FROM %s where idref='%s'", HttpPOST.TABLE_NAME, "5338111023"); - try { - hsqldb = DatabaseTool.openDb("database"); - try (PreparedStatement ps1 = hsqldb.prepareStatement(sql1)){ - try (ResultSet rset1 = ps1.executeQuery()) { - assertTrue(rset1.next()); - } - } - } - catch(Exception e){ - e.printStackTrace(); - fail(e.toString()); - } finally { - DatabaseTool.closeDb(hsqldb); - } - double lat = 35.43035D; // 35.43035 35.4305614, 139.3662339 double lon = 139.36622D; //139.36622 - String idrefs = getRefid(lat, lon); + String idrefs = getRefid(DbPolice.TABLE_NAME, lat, lon, 50); System.out.println(idrefs); } @@ -136,53 +71,7 @@ public void test92_normal() { double lat = 35.4214195D; double lon = 139.3600994D; - String idrefs = getRefid(lat, lon); + String idrefs = getRefid(DbPolice.TABLE_NAME, lat, lon, 50); System.out.println(idrefs); } - - /** - * - * - * @param lat 35.43035D; // 35.43035 35.4305614, 139.3662339 - * @param lon 139.36622D - * @return - */ - public String getRefid(double lat, double lon) { - String ret = ""; - - Connection hsqldb = null; - try { - hsqldb = DatabaseTool.openDb("database"); - - String where = String.format("(lat > '%s') and (lat < '%s') and (lon > '%s') and (lon < '%s')", - String.valueOf(lat-0.001D), String.valueOf(lat+0.001D), - String.valueOf(lon-0.001D), String.valueOf(lon+0.001D)); - String sql = String.format("SELECT * FROM %s WHERE %s", DbPolice.TABLE_NAME, where); - System.out.println(sql); - PreparedStatement ps1 = hsqldb.prepareStatement(sql); - try (ResultSet rset1 = ps1.executeQuery()) { - while (rset1.next()) { - System.out.println("{"); - System.out.println("idref:" + rset1.getString("idref")); - System.out.println("gid:" + rset1.getString("gid")); - System.out.println("area:" + rset1.getInt("area")); - System.out.println("fixed:" + rset1.getInt("fixed")); - System.out.println("fixed1:" + rset1.getInt("fixed1")); - System.out.println("lat:" + rset1.getDouble("lat")); - System.out.println("lon:" + rset1.getDouble("lon")); - System.out.println("}"); - if (ret.length() > 0) { - ret += ","; - } - ret += rset1.getString("idref"); - } - } - } catch (IOException | ClassNotFoundException | SQLException ex) { - Logger.getLogger(PoliceTest.class.getName()).log(Level.SEVERE, null, ex); - fail(ex.toString()); - } finally { - DatabaseTool.closeDb(hsqldb); - } - return ret; - } } diff --git a/test/osm/jp/coverage/postoffice/PostofficeTest.java b/test/osm/jp/coverage/postoffice/PostofficeTest.java index abd5064..7293a0e 100644 --- a/test/osm/jp/coverage/postoffice/PostofficeTest.java +++ b/test/osm/jp/coverage/postoffice/PostofficeTest.java @@ -1,21 +1,14 @@ package osm.jp.coverage.postoffice; -import java.io.IOException; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; -import jp.co.areaweb.tools.database.DatabaseTool; -import static org.hamcrest.CoreMatchers.is; import org.junit.*; import static org.junit.Assert.*; import org.junit.runners.MethodSorters; -import osm.jp.api.HttpPOST; +import osm.jp.coverage.PoiTest; @FixMethodOrder (MethodSorters.NAME_ASCENDING) -public class PostofficeTest { +public class PostofficeTest extends PoiTest { @Before public void setUp() throws Exception { } @@ -45,7 +38,7 @@ public void test01_dataread() { double lat = 35.4316208D; // 35.43035 35.4316208, 139.4094861 double lon = 139.4094861D; //139.36622 - String idrefs = getRefid(lat, lon, 50); + String idrefs = getRefid(DbPostoffice.TABLE_NAME, lat, lon, 50); System.out.println(idrefs); } @@ -57,82 +50,8 @@ public void test92_normal() { double lat = 44.105486D; double lon = 145.246918D; - String idrefs = getRefid(lat, lon, 0); + String idrefs = getRefid(DbPostoffice.TABLE_NAME, lat, lon, 0); System.out.println(idrefs); } - boolean checkRenge(ResultSet rset, String latStr, String lonStr) throws SQLException { - if (checkRenge(rset.getDouble("lat"), latStr)) { - if (checkRenge(rset.getDouble("lon"), lonStr)) { - return true; - } - } - return false; - } - - boolean checkRenge(double d1, String str) throws SQLException { - double base = Double.parseDouble(str); - double up = d1 + 0.0001D; - double down = d1 - 0.0001D; - boolean ret = true; - if (Double.compare(base, up) > 0) { - ret = false; - } - if (Double.compare(base, down) < 0) { - ret = false; - } - System.out.println("d1: "+ d1 +" : "+ str +" --> "+ (ret ? "IN" : "out")); - return ret; - } - - /** - * - * - * @param lat 35.43035D; // 35.43035 35.4305614, 139.3662339 - * @param lon 139.36622D - * @param fixed1 - * @return - */ - public String getRefid(double lat, double lon, int fixed1) { - String ret = ""; - - Connection hsqldb = null; - try { - hsqldb = DatabaseTool.openDb("database"); - - String where = String.format("(lat > '%s') and (lat < '%s') and (lon > '%s') and (lon < '%s')", - String.valueOf(lat-0.001D), String.valueOf(lat+0.001D), - String.valueOf(lon-0.001D), String.valueOf(lon+0.001D)); - String sql = String.format("SELECT * FROM %s WHERE %s", DbPostoffice.TABLE_NAME, where); - System.out.println(sql); - PreparedStatement ps1 = hsqldb.prepareStatement(sql); - try (ResultSet rset1 = ps1.executeQuery()) { - while (rset1.next()) { - int v = rset1.getInt("fixed1"); - System.out.println("{"); - System.out.println("idref:" + rset1.getString("idref")); - System.out.println("gid:" + rset1.getString("gid")); - System.out.println("area:" + rset1.getInt("area")); - System.out.println("fixed:" + rset1.getInt("fixed")); - System.out.println("fixed1:" + v); - System.out.println("lat:" + rset1.getDouble("lat")); - System.out.println("lon:" + rset1.getDouble("lon")); - System.out.println("}"); - if (ret.length() > 0) { - ret += ","; - } - ret += rset1.getString("idref"); - assertThat(v, is(fixed1)); - return ret; - } - fail("該当のデータがミツカラナイ"); - } - } catch (IOException | ClassNotFoundException | SQLException ex) { - Logger.getLogger(PostofficeTest.class.getName()).log(Level.SEVERE, null, ex); - fail(ex.toString()); - } finally { - DatabaseTool.closeDb(hsqldb); - } - return ret; - } }