Skip to content

Commit 4e601fd

Browse files
authored
Merge pull request #631 from sreekesh93/techdebt/refactor-test
Refactor JSONPointerTest
2 parents cf43419 + 9000901 commit 4e601fd

1 file changed

Lines changed: 23 additions & 25 deletions

File tree

src/test/java/org/json/junit/JSONPointerTest.java

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ of this software and associated documentation files (the "Software"), to deal
2525
*/
2626

2727
import static org.junit.Assert.assertEquals;
28-
import static org.junit.Assert.assertSame;
2928
import static org.junit.Assert.assertTrue;
3029
import static org.junit.Assert.fail;
3130

@@ -41,6 +40,10 @@ of this software and associated documentation files (the "Software"), to deal
4140
public class JSONPointerTest {
4241

4342
private static final JSONObject document;
43+
private static final String EXPECTED_COMPLETE_DOCUMENT = "{\"\":0,\" \":7,\"g|h\":4,\"c%d\":2,\"k\\\"l\":6,\"a/b\":1,\"i\\\\j\":5," +
44+
"\"obj\":{\"\":{\"\":\"empty key of an object with an empty key\",\"subKey\":\"Some other value\"}," +
45+
"\"other~key\":{\"another/key\":[\"val\"]},\"key\":\"value\"},\"foo\":[\"bar\",\"baz\"],\"e^f\":3," +
46+
"\"m~n\":8}";
4447

4548
static {
4649
@SuppressWarnings("resource")
@@ -57,7 +60,7 @@ private Object query(String pointer) {
5760

5861
@Test
5962
public void emptyPointer() {
60-
assertSame(document, query(""));
63+
assertTrue(new JSONObject(EXPECTED_COMPLETE_DOCUMENT).similar(query("")));
6164
}
6265

6366
@SuppressWarnings("unused")
@@ -68,12 +71,12 @@ public void nullPointer() {
6871

6972
@Test
7073
public void objectPropertyQuery() {
71-
assertSame(document.get("foo"), query("/foo"));
74+
assertEquals("[\"bar\",\"baz\"]", query("/foo").toString());
7275
}
7376

7477
@Test
7578
public void arrayIndexQuery() {
76-
assertSame(document.getJSONArray("foo").get(0), query("/foo/0"));
79+
assertEquals("bar", query("/foo/0"));
7780
}
7881

7982
@Test(expected = JSONPointerException.class)
@@ -83,38 +86,33 @@ public void stringPropOfArrayFailure() {
8386

8487
@Test
8588
public void queryByEmptyKey() {
86-
assertSame(document.get(""), query("/"));
89+
assertEquals(0, query("/"));
8790
}
8891

8992
@Test
9093
public void queryByEmptyKeySubObject() {
91-
assertSame(document.getJSONObject("obj").getJSONObject(""), query("/obj/"));
94+
assertEquals( "{\"\":\"empty key of an object with an empty key\",\"subKey\":\"Some" +
95+
" other value\"}", query("/obj/").toString());
9296
}
9397

9498
@Test
9599
public void queryByEmptyKeySubObjectSubOject() {
96-
assertSame(
97-
document.getJSONObject("obj").getJSONObject("").get(""),
98-
query("/obj//")
99-
);
100+
assertEquals("empty key of an object with an empty key", query("/obj//"));
100101
}
101102

102103
@Test
103104
public void queryByEmptyKeySubObjectValue() {
104-
assertSame(
105-
document.getJSONObject("obj").getJSONObject("").get("subKey"),
106-
query("/obj//subKey")
107-
);
105+
assertEquals("Some other value", query("/obj//subKey"));
108106
}
109107

110108
@Test
111109
public void slashEscaping() {
112-
assertSame(document.get("a/b"), query("/a~1b"));
110+
assertEquals(1, query("/a~1b"));
113111
}
114112

115113
@Test
116114
public void tildeEscaping() {
117-
assertSame(document.get("m~n"), query("/m~0n"));
115+
assertEquals(8, query("/m~0n"));
118116
}
119117

120118
/**
@@ -124,7 +122,7 @@ public void tildeEscaping() {
124122
*/
125123
@Test
126124
public void backslashHandling() {
127-
assertSame(document.get("i\\j"), query("/i\\j"));
125+
assertEquals(5, query("/i\\j"));
128126
}
129127

130128
/**
@@ -134,30 +132,30 @@ public void backslashHandling() {
134132
*/
135133
@Test
136134
public void quotationHandling() {
137-
assertSame(document.get("k\"l"), query("/k\"l"));
135+
assertEquals(6, query("/k\"l"));
138136
}
139137

140138
@Test
141139
public void whitespaceKey() {
142-
assertSame(document.get(" "), query("/ "));
140+
assertEquals(7, query("/ "));
143141
}
144142

145143
@Test
146144
public void uriFragmentNotation() {
147-
assertSame(document.get("foo"), query("#/foo"));
145+
assertEquals("[\"bar\",\"baz\"]", query("#/foo").toString());
148146
}
149147

150148
@Test
151149
public void uriFragmentNotationRoot() {
152-
assertSame(document, query("#"));
150+
assertTrue(new JSONObject(EXPECTED_COMPLETE_DOCUMENT).similar(query("#")));
153151
}
154152

155153
@Test
156154
public void uriFragmentPercentHandling() {
157-
assertSame(document.get("c%d"), query("#/c%25d"));
158-
assertSame(document.get("e^f"), query("#/e%5Ef"));
159-
assertSame(document.get("g|h"), query("#/g%7Ch"));
160-
assertSame(document.get("m~n"), query("#/m~0n"));
155+
assertEquals(2, query("#/c%25d"));
156+
assertEquals(3, query("#/e%5Ef"));
157+
assertEquals(4, query("#/g%7Ch"));
158+
assertEquals(8, query("#/m~0n"));
161159
}
162160

163161
@SuppressWarnings("unused")

0 commit comments

Comments
 (0)