OSDN Git Service

afb7dc078e253c3c2f4be1a32a982910af514b54
[importpicture/importpicture.git] / src / test / java / osm / jp / gpx / AppParametersTest.java
1 package osm.jp.gpx;
2
3 import static org.junit.Assert.*;
4
5 import java.io.File;
6 import java.io.FileInputStream;
7 import java.io.FileOutputStream;
8 import java.io.IOException;
9 import java.nio.channels.FileChannel;
10
11 import org.junit.After;
12 import org.junit.Before;
13 import org.junit.Test;
14 import org.junit.runner.RunWith;
15 import org.junit.experimental.runners.*;
16
17 @RunWith(Enclosed.class)
18 public class AppParametersTest {
19
20     public static class 定義ファイルが存在しない場合 {
21
22         @Before
23         public void setUp() throws Exception {
24                 delTestData("AdjustTime.ini");
25         }
26
27         @After
28         public void tearDown() throws Exception {
29                 delTestData("AdjustTime.ini");
30         }
31
32         @Test
33         public void IMG_OUTPUT_ALLが定義されていない時() {
34             try {
35                 AppParameters params = new AppParameters("target/test-classes/AdjustTime.off.ini");
36                 String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL);
37                 assertFalse(Boolean.getBoolean(valueStr));
38             }
39             catch (Exception e) {
40                 fail("Exceptionが発生した。");
41                         }
42         }
43     }
44
45     public static class 定義ファイルがtureに定義されているとき {
46
47         @Before
48         public void setUp() throws Exception {
49                 delTestData("AdjustTime.ini");
50                 setupTestData("AdjustTime.on.ini", "AdjustTime.ini");
51         }
52
53         @After
54         public void tearDown() throws Exception {
55                 delTestData("AdjustTime.ini");
56         }
57
58         @Test
59         public void IMG_OUTPUT_ALLがtureに定義されているとき() {
60             try {
61                 AppParameters params = new AppParameters();
62                 String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL);
63                 assertTrue(Boolean.valueOf(valueStr));
64             }
65             catch (Exception e) {
66                 fail("Exceptionが発生した。");
67             }
68         }
69
70         @Test
71         public void IMG_OUTPUT_ALLをfalseに書き換える() {
72             try {
73                 AppParameters params = new AppParameters();
74                 params.setProperty(AppParameters.IMG_OUTPUT_ALL, "false");
75                 params.store();
76                 AppParameters newParams = new AppParameters();
77                 String valueStr = newParams.getProperty(AppParameters.IMG_OUTPUT_ALL);
78                 assertFalse(Boolean.valueOf(valueStr));
79             }
80             catch (Exception e) {
81                 fail("Exceptionが発生した。");
82             }
83         }
84     }
85
86     public static class 定義ファイルがfalseに定義されているとき {
87
88         @Before
89         public void setUp() throws Exception {
90                 delTestData("AdjustTime.ini");
91                 setupTestData("AdjustTime.off.ini", "AdjustTime.ini");
92         }
93
94         @After
95         public void tearDown() throws Exception {
96                 delTestData("AdjustTime.ini");
97         }
98
99         @Test
100         public void IMG_OUTPUT_ALLがfalseに定義されているとき() {
101             try {
102                 AppParameters params = new AppParameters();
103                 String valueStr = params.getProperty(AppParameters.IMG_OUTPUT_ALL);
104                 assertFalse(Boolean.valueOf(valueStr));
105             }
106             catch (Exception e) {
107                 fail("Exceptionが発生した。");
108             }
109         }
110
111         @Test
112         public void IMG_OUTPUT_ALLをtrueに書き換える() {
113             try {
114                 AppParameters params = new AppParameters();
115                 params.setProperty(AppParameters.IMG_OUTPUT_ALL, "true");
116                 params.store();
117                 AppParameters newParams = new AppParameters();
118                 String valueStr = newParams.getProperty(AppParameters.IMG_OUTPUT_ALL);
119                 assertTrue(Boolean.valueOf(valueStr));
120             }
121             catch (Exception e) {
122                 fail("Exceptionが発生した。");
123             }
124         }
125     }
126     
127     public static void delTestData(String filename) {
128         File iniFile = new File(filename);
129         if (iniFile.exists()) {
130             iniFile.delete();
131         }
132     }
133     
134     static void setupTestData(String sfilename, String dfilename) throws IOException {
135         File testFile = new File("target/test-classes/ini", sfilename);
136         FileInputStream inStream = new FileInputStream(testFile);
137         FileOutputStream outStream = new FileOutputStream(new File(dfilename));
138         FileChannel inChannel = inStream.getChannel();
139         FileChannel outChannel = outStream.getChannel();
140         try {
141             inChannel.transferTo(0, inChannel.size(),outChannel);
142         }
143         finally {
144             if (inChannel != null) inChannel.close();
145             if (outChannel != null) outChannel.close();
146             inStream.close();
147             outStream.close();
148         }
149     }
150 }