123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- package com.vaadin.server;
-
- import static org.junit.Assert.assertFalse;
- import static org.junit.Assert.assertTrue;
-
- import org.junit.Test;
-
- import elemental.json.Json;
- import elemental.json.JsonArray;
- import elemental.json.JsonObject;
- import elemental.json.JsonValue;
-
- public class JsonEqualsTest {
-
- @Test
- public void differentTypes_notEqual() {
- boolean equals = JsonCodec.jsonEquals(Json.create(5), Json.create("5"));
-
- assertFalse("Different types should not be equal", equals);
- }
-
- @Test
- public void nulls_equal() {
- boolean equals = JsonCodec.jsonEquals(Json.createNull(),
- Json.createNull());
-
- assertTrue("Null and null should be equal", equals);
- }
-
- @Test
- public void differentBooleans_notEqual() {
- boolean equals = JsonCodec.jsonEquals(Json.create(true),
- Json.create(false));
-
- assertFalse("Different booleans should not be equal", equals);
- }
-
- @Test
- public void sameBooleans_equal() {
- boolean equals = JsonCodec.jsonEquals(Json.create(false),
- Json.create(false));
-
- assertTrue("Same booleans should be equal", equals);
- }
-
- @Test
- public void differentNumbers_notEqual() {
- boolean equals = JsonCodec.jsonEquals(Json.create(2), Json.create(5.6));
-
- assertFalse("Different numbers should not be equal", equals);
- }
-
- @Test
- public void sameNumbers_equal() {
- boolean equals = JsonCodec.jsonEquals(Json.create(3.14),
- Json.create(3.14));
-
- assertTrue("Same numbers should be equal", equals);
- }
-
- @Test
- public void differentStrings_notEqual() {
- boolean equals = JsonCodec.jsonEquals(Json.create("abc"),
- Json.create("def"));
-
- assertFalse("Different strings should not be equal", equals);
- }
-
- @Test
- public void sameStrings_equal() {
- boolean equals = JsonCodec.jsonEquals(Json.create("abc"),
- Json.create("abc"));
-
- assertTrue("Same strings should be equal", equals);
- }
-
- @Test
- public void differentKeyCountObject_notEqual() {
- JsonObject o1 = Json.createObject();
- o1.put("key", "value");
-
- JsonObject o2 = Json.createObject();
-
- boolean equals = JsonCodec.jsonEquals(o1, o2);
-
- assertFalse("Object with different key counts should not be equal",
- equals);
- }
-
- @Test
- public void differentKeySetObject_notEqual() {
- JsonObject o1 = Json.createObject();
- o1.put("key", "value");
-
- JsonObject o2 = Json.createObject();
- o2.put("key2", "value");
-
- boolean equals = JsonCodec.jsonEquals(o1, o2);
-
- assertFalse("Object with different keys should not be equal", equals);
- }
-
- @Test
- public void differentChildValuesObject_notEqual() {
- JsonObject o1 = Json.createObject();
- o1.put("key", "value");
-
- JsonObject o2 = Json.createObject();
- o2.put("key", true);
-
- boolean equals = JsonCodec.jsonEquals(o1, o2);
-
- assertFalse("Object with different child values should not be equal",
- equals);
- }
-
- @Test
- public void emptyObjects_equal() {
- JsonObject o1 = Json.createObject();
- JsonObject o2 = Json.createObject();
-
- boolean equals = JsonCodec.jsonEquals(o1, o2);
-
- assertTrue("Empty objects should be equal", equals);
- }
-
- @Test
- public void sameObjects_equal() {
- JsonObject o1 = Json.createObject();
- o1.put("key", "value");
-
- JsonObject o2 = Json.createObject();
- o2.put("key", "value");
-
- boolean equals = JsonCodec.jsonEquals(o1, o2);
-
- assertTrue("Same objects should be equal", equals);
- }
-
- @Test
- public void sameObjectsWithNullValues_equal() {
- JsonObject o1 = Json.createObject();
- o1.put("key", Json.createNull());
-
- JsonObject o2 = Json.createObject();
- o2.put("key", Json.createNull());
-
- boolean equals = JsonCodec.jsonEquals(o1, o2);
-
- assertTrue("Same objects should be equal", equals);
- }
-
- @Test
- public void differentSizeArray_notEqual() {
- JsonArray a1 = Json.createArray();
- a1.set(0, 0);
-
- JsonArray a2 = Json.createArray();
-
- boolean equals = JsonCodec.jsonEquals(a1, a2);
-
- assertFalse("Arrays with different sizes should not be equal", equals);
- }
-
- @Test
- public void differentContentArray_notEqual() {
- JsonArray a1 = Json.createArray();
- a1.set(0, 0);
-
- JsonArray a2 = Json.createArray();
- a2.set(0, 1);
-
- boolean equals = JsonCodec.jsonEquals(a1, a2);
-
- assertFalse("Arrays with different content should not be equal",
- equals);
- }
-
- @Test
- public void differentOrderArray_notEqual() {
- JsonArray a1 = Json.createArray();
- a1.set(0, 0);
- a1.set(1, true);
-
- JsonArray a2 = Json.createArray();
- a2.set(0, true);
- a2.set(1, 0);
-
- boolean equals = JsonCodec.jsonEquals(a1, a2);
-
- assertFalse("Arrays with different order should not be equal", equals);
- }
-
- @Test
- public void emptyArrays_equal() {
- JsonArray a1 = Json.createArray();
- JsonArray a2 = Json.createArray();
-
- boolean equals = JsonCodec.jsonEquals(a1, a2);
-
- assertTrue("Empty arrays should be equal", equals);
- }
-
- @Test
- public void sameArrays_equal() {
- JsonArray a1 = Json.createArray();
- a1.set(0, 0);
- a1.set(1, true);
-
- JsonArray a2 = Json.createArray();
- a2.set(0, 0);
- a2.set(1, true);
-
- boolean equals = JsonCodec.jsonEquals(a1, a2);
-
- assertTrue("Same arrays should be equal", equals);
- }
-
- @Test
- public void sameArraysWitNull_equal() {
- JsonArray a1 = Json.createArray();
- a1.set(0, Json.createNull());
-
- JsonArray a2 = Json.createArray();
- a2.set(0, Json.createNull());
-
- boolean equals = JsonCodec.jsonEquals(a1, a2);
-
- assertTrue("Same arrays should be equal", equals);
- }
-
- @Test
- public void differentDeeplyNested_notEquals() {
- boolean equals = JsonCodec.jsonEquals(createDeeplyNestedValue(1),
- createDeeplyNestedValue(2));
-
- assertFalse("Values should not be equal", equals);
- }
-
- @Test
- public void sameDeeplyNested_equals() {
- boolean equals = JsonCodec.jsonEquals(createDeeplyNestedValue(1),
- createDeeplyNestedValue(1));
-
- assertTrue("Values should be equal", equals);
- }
-
- private static JsonValue createDeeplyNestedValue(int leafValue) {
- JsonObject childObject = Json.createObject();
- childObject.put("value", leafValue);
-
- JsonArray childArray = Json.createArray();
- childArray.set(0, childObject);
-
- JsonObject value = Json.createObject();
- value.put("child", childArray);
- return value;
- }
- }
|