From: hayashi Date: Tue, 16 May 2017 11:42:45 +0000 (+0900) Subject: JUnit test AppParameters.java X-Git-Tag: release_2017-07-09~43 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=bd835cb1b4fd581bfdce089ffe30baf9b9eec229;p=importpicture%2Fimportpicture.git JUnit test AppParameters.java --- diff --git a/importPicture/.classpath b/importPicture/.classpath index 775996d..3c1aed2 100644 --- a/importPicture/.classpath +++ b/importPicture/.classpath @@ -1,7 +1,9 @@ + + diff --git a/importPicture/AdjustTime.ini b/importPicture/AdjustTime.ini new file mode 100644 index 0000000..e23b51f --- /dev/null +++ b/importPicture/AdjustTime.ini @@ -0,0 +1,16 @@ +#defuilt settings +#Tue May 16 15:59:01 JST 2017 +GPX.BASETIME=FILE_UPDATE +IMG.OUTPUT_EXIF=true +GPX.OUTPUT_SPEED=false +GPX.OUTPUT_WPT=false +IMG.OUTPUT_ALL=false +GPX.noFirstNode=true +IMG.OUTPUT=true +GPX.gpxSplit=true +GPX.REUSE=false +GPX.OVERWRITE_MAGVAR=false +IMG.BASE_FILE= +IMG.SOURCE_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/. +GPX.SOURCE_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/. +IMG.OUTPUT_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/. diff --git a/importPicture/test/osm/jp/gpx/AppParametersTest.java b/importPicture/test/osm/jp/gpx/AppParametersTest.java new file mode 100644 index 0000000..65e3a27 --- /dev/null +++ b/importPicture/test/osm/jp/gpx/AppParametersTest.java @@ -0,0 +1,204 @@ +package osm.jp.gpx; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.*; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.nio.channels.FileChannel; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.experimental.runners.*; + +@RunWith(Enclosed.class) +public class AppParametersTest { + + public static class 定義ファイルが存在しない場合 { + AppParameters params; + + @Before + public void setUp() throws Exception { + File iniFile = new File("AdjustTime.ini"); + File orgFile = new File("AdjustTime.ini.org"); + + if (orgFile.exists()) { + orgFile.delete(); + } + if (iniFile.exists()) { + iniFile.renameTo(orgFile); + } + params = new AppParameters(); + } + + @After + public void tearDown() throws Exception { + File iniFile = new File("AdjustTime.ini"); + File orgFile = new File("AdjustTime.ini.org"); + if (iniFile.exists()) { + iniFile.delete(); + } + if (orgFile.exists()) { + orgFile.renameTo(iniFile); + } + } + + @Test + public void IMG_OUTPUT_ALLが定義されていない時() { + try { + String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL); + assertThat(valueStr, is("false")); + } + catch (Exception e) { + fail("Exceptionが発生した。"); + } + } + } + + public static class 定義ファイルがtureに定義されているとき { + + @Before + public void setUp() throws Exception { + File iniFile = new File("AdjustTime.ini"); + File orgFile = new File("AdjustTime.ini.org"); + File testFile = new File("testdata", "AdjustTime.on.ini"); + + if (orgFile.exists()) { + orgFile.delete(); + } + if (iniFile.exists()) { + iniFile.renameTo(orgFile); + } + + FileInputStream inStream = new FileInputStream(testFile); + FileOutputStream outStream = new FileOutputStream(new File("AdjustTime.ini")); + FileChannel inChannel = inStream.getChannel(); + FileChannel outChannel = outStream.getChannel(); + try { + inChannel.transferTo(0, inChannel.size(),outChannel); + } + finally { + if (inChannel != null) inChannel.close(); + if (outChannel != null) outChannel.close(); + inStream.close(); + outStream.close(); + } + } + + @After + public void tearDown() throws Exception { + File iniFile = new File("AdjustTime.ini"); + File orgFile = new File("AdjustTime.ini.org"); + if (iniFile.exists()) { + iniFile.delete(); + } + if (orgFile.exists()) { + orgFile.renameTo(iniFile); + } + } + + @Test + public void IMG_OUTPUT_ALLがtureに定義されているとき() { + try { + AppParameters params; + params = new AppParameters(); + String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL); + assertThat(valueStr, is("true")); + } + catch (Exception e) { + fail("Exceptionが発生した。"); + } + } + + @Test + public void IMG_OUTPUT_ALLをfalseに書き換える() { + try { + AppParameters params = new AppParameters(); + params.setProperty(AppParameters.IMG_OUTPUT_ALL, "false"); + params.store(); + params = null; + AppParameters newParams = new AppParameters(); + String valueStr = newParams.getProperty(AppParameters.IMG_OUTPUT_ALL); + assertThat(valueStr, is("false")); + } + catch (Exception e) { + fail("Exceptionが発生した。"); + } + } + } + + public static class 定義ファイルがfalseに定義されているとき { + + @Before + public void setUp() throws Exception { + File iniFile = new File("AdjustTime.ini"); + File orgFile = new File("AdjustTime.ini.org"); + File testFile = new File("testdata", "AdjustTime.off.ini"); + + if (orgFile.exists()) { + orgFile.delete(); + } + if (iniFile.exists()) { + iniFile.renameTo(orgFile); + } + + FileInputStream inStream = new FileInputStream(testFile); + FileOutputStream outStream = new FileOutputStream(new File("AdjustTime.ini")); + FileChannel inChannel = inStream.getChannel(); + FileChannel outChannel = outStream.getChannel(); + try { + inChannel.transferTo(0, inChannel.size(),outChannel); + } + finally { + if (inChannel != null) inChannel.close(); + if (outChannel != null) outChannel.close(); + inStream.close(); + outStream.close(); + } + } + + @After + public void tearDown() throws Exception { + File iniFile = new File("AdjustTime.ini"); + File orgFile = new File("AdjustTime.ini.org"); + if (iniFile.exists()) { + iniFile.delete(); + } + if (orgFile.exists()) { + orgFile.renameTo(iniFile); + } + } + + @Test + public void IMG_OUTPUT_ALLがfalseに定義されているとき() { + try { + AppParameters params = new AppParameters(); + String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL); + assertThat(valueStr, is("false")); + } + catch (Exception e) { + fail("Exceptionが発生した。"); + } + } + + @Test + public void IMG_OUTPUT_ALLをtrueに書き換える() { + try { + AppParameters params = new AppParameters(); + params.setProperty(AppParameters.IMG_OUTPUT_ALL, "true"); + params.store(); + params = null; + AppParameters newParams = new AppParameters(); + String valueStr = newParams.getProperty(AppParameters.IMG_OUTPUT_ALL); + assertThat(valueStr, is("true")); + } + catch (Exception e) { + fail("Exceptionが発生した。"); + } + } + } + +} diff --git a/importPicture/testdata/AdjustTime.null.ini b/importPicture/testdata/AdjustTime.null.ini new file mode 100644 index 0000000..7b60e49 --- /dev/null +++ b/importPicture/testdata/AdjustTime.null.ini @@ -0,0 +1,16 @@ +#defuilt settings +#Tue May 16 15:59:01 JST 2017 +GPX.BASETIME= +IMG.OUTPUT_EXIF= +GPX.OUTPUT_SPEED= +GPX.OUTPUT_WPT= +IMG.OUTPUT_ALL= +GPX.noFirstNode= +IMG.OUTPUT= +GPX.gpxSplit= +GPX.REUSE= +GPX.OVERWRITE_MAGVAR= +IMG.BASE_FILE= +IMG.SOURCE_FOLDER= +GPX.SOURCE_FOLDER= +IMG.OUTPUT_FOLDER= diff --git a/importPicture/testdata/AdjustTime.off.ini b/importPicture/testdata/AdjustTime.off.ini new file mode 100644 index 0000000..3494d77 --- /dev/null +++ b/importPicture/testdata/AdjustTime.off.ini @@ -0,0 +1,16 @@ +#defuilt settings +#Tue May 16 15:59:01 JST 2017 +GPX.BASETIME=FILE_UPDATE +IMG.OUTPUT_EXIF=false +GPX.OUTPUT_SPEED=false +GPX.OUTPUT_WPT=false +IMG.OUTPUT_ALL=false +GPX.noFirstNode=false +IMG.OUTPUT=false +GPX.gpxSplit=false +GPX.REUSE=false +GPX.OVERWRITE_MAGVAR=false +IMG.BASE_FILE= +IMG.SOURCE_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/. +GPX.SOURCE_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/. +IMG.OUTPUT_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/. diff --git a/importPicture/testdata/AdjustTime.on.ini b/importPicture/testdata/AdjustTime.on.ini new file mode 100644 index 0000000..8a9a96b --- /dev/null +++ b/importPicture/testdata/AdjustTime.on.ini @@ -0,0 +1,16 @@ +#defuilt settings +#Tue May 16 15:59:01 JST 2017 +GPX.BASETIME=FILE_UPDATE +IMG.OUTPUT_EXIF=true +GPX.OUTPUT_SPEED=true +GPX.OUTPUT_WPT=true +IMG.OUTPUT_ALL=true +GPX.noFirstNode=true +IMG.OUTPUT=true +GPX.gpxSplit=true +GPX.REUSE=true +GPX.OVERWRITE_MAGVAR=true +IMG.BASE_FILE= +IMG.SOURCE_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/. +GPX.SOURCE_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/. +IMG.OUTPUT_FOLDER=/home/yuu/workspace/AdjustTime/importPicture/.