Skip to content

Commit 29e0de8

Browse files
committed
add TransClassTest.java
1 parent 5119cfd commit 29e0de8

File tree

7 files changed

+87
-3
lines changed

7 files changed

+87
-3
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@
5353
<artifactId>fastjson</artifactId>
5454
<version>1.2.47</version>
5555
</dependency>
56+
<dependency>
57+
<groupId>junit</groupId>
58+
<artifactId>junit</artifactId>
59+
<version>4.13.1</version>
60+
<scope>test</scope>
61+
</dependency>
5662
</dependencies>
5763

5864
<build>

src/main/java/RAFile.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import java.io.FileNotFoundException;
2+
import java.io.IOException;
3+
import java.io.RandomAccessFile;
4+
import java.util.ArrayList;
5+
6+
public class RAFile {
7+
public ArrayList<String> content;
8+
public RAFile(String path) throws IOException {
9+
RandomAccessFile rf = new RandomAccessFile(path, "r");
10+
content = new ArrayList<>();
11+
while(rf.getFilePointer() < rf.length()) {
12+
content.add(rf.readLine());
13+
}
14+
rf.close();
15+
}
16+
17+
public String toString() {
18+
StringBuilder res = new StringBuilder();
19+
for(String s : content) {
20+
res.append(s).append("\n");
21+
}
22+
return res.toString();
23+
}
24+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package translate;
2+
3+
import com.alibaba.fastjson.JSONObject;
4+
import com.alibaba.fastjson.parser.Feature;
5+
6+
import java.util.LinkedHashMap;
7+
import java.util.Map;
8+
9+
public class NewJSONObject {
10+
public Map<String, String> map;
11+
public NewJSONObject() {
12+
this.map = new LinkedHashMap<>(); //new HashMap();
13+
}
14+
public static NewJSONObject parseObject(String content, Feature orderedField) {
15+
NewJSONObject object = new NewJSONObject();
16+
JSONObject jsonObject = JSONObject.parseObject(content);
17+
for(String key : jsonObject.keySet()) {
18+
object.map.put(key, jsonObject.getString(key));
19+
}
20+
return object;
21+
}
22+
}

src/main/java/translate/Trans.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
11
package translate;
22

33
import com.alibaba.fastjson.JSONObject;
4+
import com.alibaba.fastjson.parser.Feature;
45

56
import java.io.FileNotFoundException;
67
import java.io.IOException;
78
import java.io.RandomAccessFile;
9+
import java.util.LinkedHashMap;
10+
import java.util.Map;
811

912
public class Trans {
13+
public JSONObject object;
1014
public Trans (String path) throws IOException, FileNotFoundException {
1115
RandomAccessFile rf = new RandomAccessFile(path, "r");
1216
StringBuilder content = new StringBuilder();
1317
while(rf.getFilePointer() < rf.length()) {
1418
content.append(rf.readLine());
1519
}
1620
rf.close();
17-
JSONObject object = JSONObject.parseObject(content.toString());
18-
System.out.println(object);
21+
object = JSONObject.parseObject(content.toString(), Feature.OrderedField);
1922
}
2023
public static void main(String[] args) throws IOException, FileNotFoundException {
21-
Trans trans = new Trans("test.json");
24+
Trans trans = new Trans("in.json");
2225
}
2326
}

src/test/java/TransClassTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import org.junit.Test;
2+
import translate.Trans;
3+
4+
import static org.junit.Assert.assertTrue;
5+
import static org.junit.Assert.fail;
6+
7+
public class TransClassTest {
8+
@Test
9+
public void testTrans() throws Exception {
10+
Trans trIn = new Trans("test/TransClass/in.json");
11+
RAFile raIn = new RAFile("test/TransClass/out.dat");
12+
int i = 0;
13+
for(String key : trIn.object.keySet()) {
14+
if((trIn.object.get(key)).equals(raIn.content.get(i))) {
15+
i++;
16+
} else {
17+
fail();
18+
}
19+
}
20+
}
21+
}

test/TransClass/in.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"ShangHai": "上海",
3+
"Pudong": "浦东",
4+
"ShangHai-Pudong": "上海-浦东"
5+
}

test/TransClass/out.dat

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
上海
2+
浦东
3+
上海-浦东

0 commit comments

Comments
 (0)