diff options
author | Håvard Pettersen <havardpe@yahooinc.com> | 2023-03-22 15:46:11 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@yahooinc.com> | 2023-03-22 15:46:11 +0000 |
commit | fc57b86eb4c5f7d2b40c4da892cf799686598dc2 (patch) | |
tree | 0606fcf4655095df91f7141ec453fd5fb8fec45c /vespajlib/src/test | |
parent | 5a78d21b77d9dc70896182a83d29e855214514b3 (diff) |
move Inspector equalTo implementation and test
Diffstat (limited to 'vespajlib/src/test')
-rw-r--r-- | vespajlib/src/test/java/com/yahoo/slime/SlimeUtilsTest.java | 119 | ||||
-rw-r--r-- | vespajlib/src/test/java/com/yahoo/slime/ValueTest.java | 131 |
2 files changed, 119 insertions, 131 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/slime/SlimeUtilsTest.java b/vespajlib/src/test/java/com/yahoo/slime/SlimeUtilsTest.java index 95a0ef4319e..47f835a42e7 100644 --- a/vespajlib/src/test/java/com/yahoo/slime/SlimeUtilsTest.java +++ b/vespajlib/src/test/java/com/yahoo/slime/SlimeUtilsTest.java @@ -7,11 +7,14 @@ import org.junit.Test; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; +import java.nio.charset.StandardCharsets; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; + /** * @author Ulf Lilleengen */ @@ -110,4 +113,120 @@ public class SlimeUtilsTest { SlimeUtils.entriesStream(inspector.field("list")).map(Inspector::asLong).toList()); } + @Test + public void verifyObjectEquality() { + Slime slimeLeft = new Slime(); + Cursor left = slimeLeft.setObject(); + left.setString("a", "A"); + left.setString("b", "B"); + + Slime slimeRight = new Slime(); + Cursor right = slimeRight.setObject(); + right.setString("b", "B"); + right.setString("a", "A"); + + assertTrue(left.equalTo(right)); + assertTrue(right.equalTo(left)); + assertTrue(left.equalTo(left)); + + right.setString("c", "C"); + assertFalse(left.equalTo(right)); + assertFalse(right.equalTo(left)); + } + + @Test + public void verifyArrayEquality() { + Slime slimeLeft = new Slime(); + Cursor left = slimeLeft.setArray(); + left.addArray().addString("a"); + left.addArray().addString("b"); + + Slime slimeRight = new Slime(); + Cursor right = slimeRight.setArray(); + right.addArray().addString("a"); + right.addArray().addString("b"); + + assertTrue(left.equalTo(right)); + assertTrue(right.equalTo(left)); + assertTrue(left.equalTo(left)); + + right.addArray().addString("c"); + assertFalse(left.equalTo(right)); + assertFalse(right.equalTo(left)); + + // Order matters + Slime slimeRight2 = new Slime(); + Cursor right2 = slimeRight2.setObject(); + right2.addArray().addString("b"); + right2.addArray().addString("a"); + assertFalse(left.equalTo(right2)); + assertFalse(right2.equalTo(left)); + } + + @Test + public void verifyPrimitiveEquality() { + Slime left = new Slime(); + Cursor leftObject = left.setObject(); + populateWithPrimitives(leftObject, true); + + Slime right = new Slime(); + Cursor rightObject = right.setObject(); + populateWithPrimitives(rightObject, true); + + assertEqualTo(left.get().field("bool"), right.get().field("bool")); + assertEqualTo(left.get().field("nix"), right.get().field("nix")); + assertEqualTo(left.get().field("long"), right.get().field("long")); + assertEqualTo(left.get().field("string"), right.get().field("string")); + assertEqualTo(left.get().field("data"), right.get().field("data")); + assertEqualTo(left.get(), right.get()); + + assertNotEqualTo(left.get().field("bool"), right.get().field("nix")); + assertNotEqualTo(left.get().field("nix"), right.get().field("string")); + assertNotEqualTo(left.get().field("string"), right.get().field("data")); + assertNotEqualTo(left.get().field("bool"), right.get().field("data")); + assertNotEqualTo(left.get().field("bool"), right.get().field("long")); + } + + @Test + public void verifyPrimitiveNotEquality() { + Slime left = new Slime(); + Cursor leftObject = left.setObject(); + populateWithPrimitives(leftObject, true); + + Slime right = new Slime(); + Cursor rightObject = right.setObject(); + populateWithPrimitives(rightObject, false); + + assertNotEqualTo(left.get().field("bool"), right.get().field("bool")); + assertEqualTo(left.get().field("nix"), right.get().field("nix")); + assertNotEqualTo(left.get().field("long"), right.get().field("long")); + assertNotEqualTo(left.get().field("string"), right.get().field("string")); + assertNotEqualTo(left.get().field("data"), right.get().field("data")); + assertNotEqualTo(left.get(), right.get()); + } + + @Test + public void testNixEquality() { + assertEqualTo(NixValue.invalid(), NixValue.invalid()); + assertEqualTo(NixValue.instance(), NixValue.instance()); + assertNotEqualTo(NixValue.instance(), NixValue.invalid()); + assertNotEqualTo(NixValue.invalid(), NixValue.instance()); + } + + private void populateWithPrimitives(Cursor cursor, boolean enabled) { + cursor.setBool("bool", enabled ? true : false); + cursor.setNix("nix"); + cursor.setLong("long", enabled ? 1 : 0); + cursor.setString("string", enabled ? "enabled" : "disabled"); + cursor.setDouble("double", enabled ? 1.5 : 0.5); + cursor.setData("data", (enabled ? "edata" : "ddata").getBytes(StandardCharsets.UTF_8)); + } + + private void assertEqualTo(Inspector left, Inspector right) { + assertTrue("'" + left + "' is not equal to '" + right + "'", left.equalTo(right)); + } + + private void assertNotEqualTo(Inspector left, Inspector right) { + assertTrue("'" + left + "' is equal to '" + right + "'", !left.equalTo(right)); + } } diff --git a/vespajlib/src/test/java/com/yahoo/slime/ValueTest.java b/vespajlib/src/test/java/com/yahoo/slime/ValueTest.java deleted file mode 100644 index b1a0ec0d7a4..00000000000 --- a/vespajlib/src/test/java/com/yahoo/slime/ValueTest.java +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.slime; - -import org.junit.Test; - -import java.nio.charset.StandardCharsets; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -/** - * @author hakonhall - */ -public class ValueTest { - @Test - public void verifyObjectEquality() { - Slime slimeLeft = new Slime(); - Cursor left = slimeLeft.setObject(); - left.setString("a", "A"); - left.setString("b", "B"); - - Slime slimeRight = new Slime(); - Cursor right = slimeRight.setObject(); - right.setString("b", "B"); - right.setString("a", "A"); - - assertTrue(left.equalTo(right)); - assertTrue(right.equalTo(left)); - assertTrue(left.equalTo(left)); - - right.setString("c", "C"); - assertFalse(left.equalTo(right)); - assertFalse(right.equalTo(left)); - } - - @Test - public void verifyArrayEquality() { - Slime slimeLeft = new Slime(); - Cursor left = slimeLeft.setArray(); - left.addArray().addString("a"); - left.addArray().addString("b"); - - Slime slimeRight = new Slime(); - Cursor right = slimeRight.setArray(); - right.addArray().addString("a"); - right.addArray().addString("b"); - - assertTrue(left.equalTo(right)); - assertTrue(right.equalTo(left)); - assertTrue(left.equalTo(left)); - - right.addArray().addString("c"); - assertFalse(left.equalTo(right)); - assertFalse(right.equalTo(left)); - - // Order matters - Slime slimeRight2 = new Slime(); - Cursor right2 = slimeRight2.setObject(); - right2.addArray().addString("b"); - right2.addArray().addString("a"); - assertFalse(left.equalTo(right2)); - assertFalse(right2.equalTo(left)); - } - - @Test - public void verifyPrimitiveEquality() { - Slime left = new Slime(); - Cursor leftObject = left.setObject(); - populateWithPrimitives(leftObject, true); - - Slime right = new Slime(); - Cursor rightObject = right.setObject(); - populateWithPrimitives(rightObject, true); - - assertEqualTo(left.get().field("bool"), right.get().field("bool")); - assertEqualTo(left.get().field("nix"), right.get().field("nix")); - assertEqualTo(left.get().field("long"), right.get().field("long")); - assertEqualTo(left.get().field("string"), right.get().field("string")); - assertEqualTo(left.get().field("data"), right.get().field("data")); - assertEqualTo(left.get(), right.get()); - - assertNotEqualTo(left.get().field("bool"), right.get().field("nix")); - assertNotEqualTo(left.get().field("nix"), right.get().field("string")); - assertNotEqualTo(left.get().field("string"), right.get().field("data")); - assertNotEqualTo(left.get().field("bool"), right.get().field("data")); - assertNotEqualTo(left.get().field("bool"), right.get().field("long")); - } - - @Test - public void verifyPrimitiveNotEquality() { - Slime left = new Slime(); - Cursor leftObject = left.setObject(); - populateWithPrimitives(leftObject, true); - - Slime right = new Slime(); - Cursor rightObject = right.setObject(); - populateWithPrimitives(rightObject, false); - - assertNotEqualTo(left.get().field("bool"), right.get().field("bool")); - assertEqualTo(left.get().field("nix"), right.get().field("nix")); - assertNotEqualTo(left.get().field("long"), right.get().field("long")); - assertNotEqualTo(left.get().field("string"), right.get().field("string")); - assertNotEqualTo(left.get().field("data"), right.get().field("data")); - assertNotEqualTo(left.get(), right.get()); - } - - @Test - public void testNixEquality() { - assertEqualTo(NixValue.invalid(), NixValue.invalid()); - assertEqualTo(NixValue.instance(), NixValue.instance()); - assertNotEqualTo(NixValue.instance(), NixValue.invalid()); - assertNotEqualTo(NixValue.invalid(), NixValue.instance()); - } - - private void populateWithPrimitives(Cursor cursor, boolean enabled) { - cursor.setBool("bool", enabled ? true : false); - cursor.setNix("nix"); - cursor.setLong("long", enabled ? 1 : 0); - cursor.setString("string", enabled ? "enabled" : "disabled"); - cursor.setDouble("double", enabled ? 1.5 : 0.5); - cursor.setData("data", (enabled ? "edata" : "ddata").getBytes(StandardCharsets.UTF_8)); - } - - private void assertEqualTo(Inspector left, Inspector right) { - assertTrue("'" + left + "' is not equal to '" + right + "'", left.equalTo(right)); - } - - private void assertNotEqualTo(Inspector left, Inspector right) { - assertTrue("'" + left + "' is equal to '" + right + "'", !left.equalTo(right)); - } -}
\ No newline at end of file |