Skip to content

Commit 0acce6b

Browse files
committed
Add trivial unit tests for #81
1 parent 37f3e7e commit 0acce6b

File tree

4 files changed

+57
-3
lines changed

4 files changed

+57
-3
lines changed

jr-stree/src/test/java/com/fasterxml/jackson/jr/stree/JacksonJrTreeTestBase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ protected void verifyException(Throwable e, String... matches)
3636
fail("Expected an exception with one of substrings ("+Arrays.asList(matches)+"): got one with message \""+msg+"\"");
3737
}
3838

39-
protected String quote(String str) {
39+
protected String q(String str) {
4040
return "\"" + str + "\"";
4141
}
4242

43-
protected String aposToQuotes(String json) {
43+
protected String a2q(String json) {
4444
return json.replace("'", "\"");
4545
}
4646

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.fasterxml.jackson.jr.stree;
2+
3+
import com.fasterxml.jackson.core.TreeNode;
4+
import com.fasterxml.jackson.jr.ob.JSON;
5+
6+
public class JrsValueEqualsTest extends JacksonJrTreeTestBase
7+
{
8+
private final JSON treeJSON = jsonWithTreeCodec();
9+
10+
public void testObjectEquality() throws Exception
11+
{
12+
final String INPUT = "{\"a\":1,\"b\":true,\"c\":3}";
13+
TreeNode tree = treeJSON.treeFrom(INPUT);
14+
assertEquals(tree, tree);
15+
assertEquals(tree, treeJSON.treeFrom(INPUT));
16+
assertEquals(treeJSON.treeFrom(INPUT), tree);
17+
18+
final String INPUT2 = "{\"a\":1,\"b\":true}";
19+
TreeNode tree2 = treeJSON.treeFrom(INPUT2);
20+
assertEquals(tree2, tree2);
21+
22+
assertFalse(tree2.equals(tree));
23+
assertFalse(tree.equals(tree2));
24+
}
25+
26+
public void testArrayEquality() throws Exception
27+
{
28+
final String INPUT = "[true,\"abc\"]";
29+
final TreeNode tree = treeJSON.treeFrom(INPUT);
30+
assertEquals(tree, tree);
31+
assertEquals(tree, treeJSON.treeFrom(INPUT));
32+
assertEquals(treeJSON.treeFrom(INPUT), tree);
33+
34+
final String INPUT2 = "[false,\"abc\"]";
35+
final TreeNode tree2 = treeJSON.treeFrom(INPUT2);
36+
assertEquals(tree2, tree2);
37+
38+
assertFalse(tree2.equals(tree));
39+
assertFalse(tree.equals(tree2));
40+
}
41+
42+
public void testScalarEquality() throws Exception
43+
{
44+
assertEquals(treeJSON.treeFrom("12"), treeJSON.treeFrom("12"));
45+
assertFalse(treeJSON.treeFrom("12").equals(treeJSON.treeFrom("-12")));
46+
47+
assertEquals(treeJSON.treeFrom("true"), treeJSON.treeFrom("true"));
48+
assertFalse(treeJSON.treeFrom("true").equals(treeJSON.treeFrom("137")));
49+
50+
assertEquals(treeJSON.treeFrom(q("name")), treeJSON.treeFrom(q("name")));
51+
assertFalse(treeJSON.treeFrom(q("true")).equals(treeJSON.treeFrom("true")));
52+
}
53+
}

jr-stree/src/test/java/com/fasterxml/jackson/jr/stree/ReadTreeSequencesTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class ReadTreeSequencesTest extends JacksonJrTreeTestBase
1414

1515
public void testBeanSequence() throws Exception
1616
{
17-
final String INPUT = aposToQuotes("{'id':1, 'msg':'foo'} [1, 2, 3] null ");
17+
final String INPUT = a2q("{'id':1, 'msg':'foo'} [1, 2, 3] null ");
1818

1919
// First, managed
2020
ValueIterator<JrsValue> it = treeJSON.treeSequenceFrom(INPUT);

release-notes/VERSION-2.x

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Modules:
1414
2.13.0 (not yet released)
1515

1616
#79: Reuse of ClassKey in ValueWriterLocator not working
17+
#81: `JsrValue` should implement `equals()`
1718

1819
2.12.3 (12-Apr-2021)
1920
2.12.2 (03-Mar-2021)

0 commit comments

Comments
 (0)