OSDN Git Service

MAVEN構成
[importpicture/importpicture.git] / src / test / java / osm / jp / gpx / AppParametersTest.java
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_ALLがtureに定義されているとき() {
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_ALLをfalseに書き換える() {
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_ALLがfalseに定義されているとき() {
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_ALLをtrueに書き換える() {
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 }