mirror of
https://github.com/stleary/JSON-java.git
synced 2025-08-03 03:15:32 -04:00
Merge pull request #631 from sreekesh93/techdebt/refactor-test
Refactor JSONPointerTest
This commit is contained in:
commit
4e601fd46e
@ -25,7 +25,6 @@ SOFTWARE.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertSame;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@ -41,6 +40,10 @@ import org.junit.Test;
|
|||||||
public class JSONPointerTest {
|
public class JSONPointerTest {
|
||||||
|
|
||||||
private static final JSONObject document;
|
private static final JSONObject document;
|
||||||
|
private static final String EXPECTED_COMPLETE_DOCUMENT = "{\"\":0,\" \":7,\"g|h\":4,\"c%d\":2,\"k\\\"l\":6,\"a/b\":1,\"i\\\\j\":5," +
|
||||||
|
"\"obj\":{\"\":{\"\":\"empty key of an object with an empty key\",\"subKey\":\"Some other value\"}," +
|
||||||
|
"\"other~key\":{\"another/key\":[\"val\"]},\"key\":\"value\"},\"foo\":[\"bar\",\"baz\"],\"e^f\":3," +
|
||||||
|
"\"m~n\":8}";
|
||||||
|
|
||||||
static {
|
static {
|
||||||
@SuppressWarnings("resource")
|
@SuppressWarnings("resource")
|
||||||
@ -57,7 +60,7 @@ public class JSONPointerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void emptyPointer() {
|
public void emptyPointer() {
|
||||||
assertSame(document, query(""));
|
assertTrue(new JSONObject(EXPECTED_COMPLETE_DOCUMENT).similar(query("")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@ -68,12 +71,12 @@ public class JSONPointerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void objectPropertyQuery() {
|
public void objectPropertyQuery() {
|
||||||
assertSame(document.get("foo"), query("/foo"));
|
assertEquals("[\"bar\",\"baz\"]", query("/foo").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void arrayIndexQuery() {
|
public void arrayIndexQuery() {
|
||||||
assertSame(document.getJSONArray("foo").get(0), query("/foo/0"));
|
assertEquals("bar", query("/foo/0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = JSONPointerException.class)
|
@Test(expected = JSONPointerException.class)
|
||||||
@ -83,38 +86,33 @@ public class JSONPointerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryByEmptyKey() {
|
public void queryByEmptyKey() {
|
||||||
assertSame(document.get(""), query("/"));
|
assertEquals(0, query("/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryByEmptyKeySubObject() {
|
public void queryByEmptyKeySubObject() {
|
||||||
assertSame(document.getJSONObject("obj").getJSONObject(""), query("/obj/"));
|
assertEquals( "{\"\":\"empty key of an object with an empty key\",\"subKey\":\"Some" +
|
||||||
|
" other value\"}", query("/obj/").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryByEmptyKeySubObjectSubOject() {
|
public void queryByEmptyKeySubObjectSubOject() {
|
||||||
assertSame(
|
assertEquals("empty key of an object with an empty key", query("/obj//"));
|
||||||
document.getJSONObject("obj").getJSONObject("").get(""),
|
|
||||||
query("/obj//")
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryByEmptyKeySubObjectValue() {
|
public void queryByEmptyKeySubObjectValue() {
|
||||||
assertSame(
|
assertEquals("Some other value", query("/obj//subKey"));
|
||||||
document.getJSONObject("obj").getJSONObject("").get("subKey"),
|
|
||||||
query("/obj//subKey")
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void slashEscaping() {
|
public void slashEscaping() {
|
||||||
assertSame(document.get("a/b"), query("/a~1b"));
|
assertEquals(1, query("/a~1b"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void tildeEscaping() {
|
public void tildeEscaping() {
|
||||||
assertSame(document.get("m~n"), query("/m~0n"));
|
assertEquals(8, query("/m~0n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -124,7 +122,7 @@ public class JSONPointerTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void backslashHandling() {
|
public void backslashHandling() {
|
||||||
assertSame(document.get("i\\j"), query("/i\\j"));
|
assertEquals(5, query("/i\\j"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -134,30 +132,30 @@ public class JSONPointerTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void quotationHandling() {
|
public void quotationHandling() {
|
||||||
assertSame(document.get("k\"l"), query("/k\"l"));
|
assertEquals(6, query("/k\"l"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whitespaceKey() {
|
public void whitespaceKey() {
|
||||||
assertSame(document.get(" "), query("/ "));
|
assertEquals(7, query("/ "));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void uriFragmentNotation() {
|
public void uriFragmentNotation() {
|
||||||
assertSame(document.get("foo"), query("#/foo"));
|
assertEquals("[\"bar\",\"baz\"]", query("#/foo").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void uriFragmentNotationRoot() {
|
public void uriFragmentNotationRoot() {
|
||||||
assertSame(document, query("#"));
|
assertTrue(new JSONObject(EXPECTED_COMPLETE_DOCUMENT).similar(query("#")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void uriFragmentPercentHandling() {
|
public void uriFragmentPercentHandling() {
|
||||||
assertSame(document.get("c%d"), query("#/c%25d"));
|
assertEquals(2, query("#/c%25d"));
|
||||||
assertSame(document.get("e^f"), query("#/e%5Ef"));
|
assertEquals(3, query("#/e%5Ef"));
|
||||||
assertSame(document.get("g|h"), query("#/g%7Ch"));
|
assertEquals(4, query("#/g%7Ch"));
|
||||||
assertSame(document.get("m~n"), query("#/m~0n"));
|
assertEquals(8, query("#/m~0n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user