Newer
Older
adjustgpx-gui / src / test / java / osm / jp / gpx / AppParametersTest.java
@haya4 haya4 on 2 Feb 2020 6 KB version 5.2
  1. package osm.jp.gpx;
  2.  
  3. import static org.hamcrest.CoreMatchers.is;
  4. import static org.junit.Assert.*;
  5.  
  6. import java.io.File;
  7. import java.io.FileInputStream;
  8. import java.io.FileOutputStream;
  9. import java.io.IOException;
  10. import java.nio.channels.FileChannel;
  11.  
  12. import org.junit.After;
  13. import org.junit.Before;
  14. import org.junit.Test;
  15. import org.junit.runner.RunWith;
  16. import org.junit.experimental.runners.*;
  17.  
  18. @RunWith(Enclosed.class)
  19. public class AppParametersTest {
  20.  
  21. public static class 定義ファイルが存在しない場合 {
  22. AppParameters params;
  23.  
  24. @Before
  25. public void setUp() throws Exception {
  26. File iniFile = new File("AdjustTime.ini");
  27. File orgFile = new File("AdjustTime.ini.org");
  28.  
  29. if (orgFile.exists()) {
  30. orgFile.delete();
  31. }
  32. if (iniFile.exists()) {
  33. iniFile.renameTo(orgFile);
  34. }
  35. }
  36.  
  37. @After
  38. public void tearDown() throws Exception {
  39. File iniFile = new File("AdjustTime.ini");
  40. File orgFile = new File("AdjustTime.ini.org");
  41. if (iniFile.exists()) {
  42. iniFile.delete();
  43. }
  44. if (orgFile.exists()) {
  45. orgFile.renameTo(iniFile);
  46. }
  47. }
  48.  
  49. @Test
  50. public void IMG_OUTPUT_ALLが定義されていない時() {
  51. try {
  52. params = new AppParameters("src/test/data/AdjustTime.off.ini");
  53. String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL);
  54. assertThat(valueStr, is("false"));
  55. }
  56. catch (IOException e) {
  57. fail("Exceptionが発生した。");
  58. }
  59. }
  60. }
  61.  
  62. public static class 定義ファイルがtureに定義されているとき {
  63.  
  64. @Before
  65. public void setUp() throws Exception {
  66. File iniFile = new File("AdjustTime.ini");
  67. File orgFile = new File("AdjustTime.ini.org");
  68. File testFile = new File("src/test/data", "AdjustTime.on.ini");
  69.  
  70. if (orgFile.exists()) {
  71. orgFile.delete();
  72. }
  73. if (iniFile.exists()) {
  74. iniFile.renameTo(orgFile);
  75. }
  76.  
  77. FileInputStream inStream = new FileInputStream(testFile);
  78. FileOutputStream outStream = new FileOutputStream(new File("AdjustTime.ini"));
  79. FileChannel inChannel = inStream.getChannel();
  80. FileChannel outChannel = outStream.getChannel();
  81. try {
  82. inChannel.transferTo(0, inChannel.size(),outChannel);
  83. }
  84. finally {
  85. if (inChannel != null) inChannel.close();
  86. if (outChannel != null) outChannel.close();
  87. inStream.close();
  88. outStream.close();
  89. }
  90. }
  91.  
  92. @After
  93. public void tearDown() throws Exception {
  94. File iniFile = new File("AdjustTime.ini");
  95. File orgFile = new File("AdjustTime.ini.org");
  96. if (iniFile.exists()) {
  97. iniFile.delete();
  98. }
  99. if (orgFile.exists()) {
  100. orgFile.renameTo(iniFile);
  101. }
  102. }
  103.  
  104. @Test
  105. public void IMG_OUTPUT_ALLtureに定義されているとき() {
  106. try {
  107. AppParameters params;
  108. params = new AppParameters();
  109. String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL);
  110. assertThat(valueStr, is("true"));
  111. }
  112. catch (IOException e) {
  113. fail("Exceptionが発生した。");
  114. }
  115. }
  116.  
  117. @Test
  118. public void IMG_OUTPUT_ALLfalseに書き換える() {
  119. try {
  120. AppParameters params = new AppParameters();
  121. params.setProperty(AppParameters.IMG_OUTPUT_ALL, "false");
  122. params.store();
  123. AppParameters newParams = new AppParameters();
  124. String valueStr = newParams.getProperty(AppParameters.IMG_OUTPUT_ALL);
  125. assertThat(valueStr, is("false"));
  126. }
  127. catch (IOException e) {
  128. fail("Exceptionが発生した。");
  129. }
  130. }
  131. }
  132.  
  133. public static class 定義ファイルがfalseに定義されているとき {
  134.  
  135. @Before
  136. public void setUp() throws Exception {
  137. File iniFile = new File("AdjustTime.ini");
  138. File orgFile = new File("AdjustTime.ini.org");
  139. File testFile = new File("src/test/data", "AdjustTime.off.ini");
  140.  
  141. if (orgFile.exists()) {
  142. orgFile.delete();
  143. }
  144. if (iniFile.exists()) {
  145. iniFile.renameTo(orgFile);
  146. }
  147.  
  148. FileInputStream inStream = new FileInputStream(testFile);
  149. FileOutputStream outStream = new FileOutputStream(new File("AdjustTime.ini"));
  150. FileChannel inChannel = inStream.getChannel();
  151. FileChannel outChannel = outStream.getChannel();
  152. try {
  153. inChannel.transferTo(0, inChannel.size(),outChannel);
  154. }
  155. finally {
  156. if (inChannel != null) inChannel.close();
  157. if (outChannel != null) outChannel.close();
  158. inStream.close();
  159. outStream.close();
  160. }
  161. }
  162.  
  163. @After
  164. public void tearDown() throws Exception {
  165. File iniFile = new File("AdjustTime.ini");
  166. File orgFile = new File("AdjustTime.ini.org");
  167. if (iniFile.exists()) {
  168. iniFile.delete();
  169. }
  170. if (orgFile.exists()) {
  171. orgFile.renameTo(iniFile);
  172. }
  173. }
  174.  
  175. @Test
  176. public void IMG_OUTPUT_ALLfalseに定義されているとき() {
  177. try {
  178. AppParameters params = new AppParameters();
  179. String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL);
  180. assertThat(valueStr, is("false"));
  181. }
  182. catch (IOException e) {
  183. fail("Exceptionが発生した。");
  184. }
  185. }
  186.  
  187. @Test
  188. public void IMG_OUTPUT_ALLtrueに書き換える() {
  189. try {
  190. AppParameters params = new AppParameters();
  191. params.setProperty(AppParameters.IMG_OUTPUT_ALL, "true");
  192. params.store();
  193. AppParameters newParams = new AppParameters();
  194. String valueStr = newParams.getProperty(AppParameters.IMG_OUTPUT_ALL);
  195. assertThat(valueStr, is("true"));
  196. }
  197. catch (IOException e) {
  198. fail("Exceptionが発生した。");
  199. }
  200. }
  201. }
  202. }