diff --git a/leshan-core/src/test/java/org/eclipse/leshan/core/node/LwM2MResourceTest.java b/leshan-core/src/test/java/org/eclipse/leshan/core/node/LwM2MResourceTest.java index 8319dc2c80..f7eb49c6db 100644 --- a/leshan-core/src/test/java/org/eclipse/leshan/core/node/LwM2MResourceTest.java +++ b/leshan-core/src/test/java/org/eclipse/leshan/core/node/LwM2MResourceTest.java @@ -22,11 +22,17 @@ import java.util.HashMap; import java.util.Map; +import org.eclipse.leshan.core.link.DefaultLinkParser; +import org.eclipse.leshan.core.link.Link; +import org.eclipse.leshan.core.link.LinkParseException; +import org.eclipse.leshan.core.link.LinkParser; import org.eclipse.leshan.core.model.ResourceModel.Type; import org.junit.jupiter.api.Test; public class LwM2MResourceTest { + private final LinkParser linkParser = new DefaultLinkParser(); + @Test public void two_identical_strings_are_equal() { assertEquals(LwM2mSingleResource.newStringResource(10, "hello"), @@ -55,6 +61,36 @@ public void two_non_identical_opaques_are_not_equal() { LwM2mSingleResource.newBinaryResource(10, "hello".getBytes())); } + @Test + public void two_identical_corelink_are_equal() throws LinkParseException { + assertEquals( + LwM2mSingleResource.newCoreLinkResource(10, linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes())), + LwM2mSingleResource.newCoreLinkResource(10, linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes()))); + } + + @Test + public void two_non_identical_corelink_are_not_equal() throws LinkParseException { + assertNotEquals( + LwM2mSingleResource.newCoreLinkResource(10, linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes())), + LwM2mSingleResource.newCoreLinkResource(10, linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes()))); + + assertNotEquals( + LwM2mSingleResource.newCoreLinkResource(11, linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes())), + LwM2mSingleResource.newCoreLinkResource(10, linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes()))); + } + @Test public void two_string_and_binary_are_not_equal() { assertNotEquals(LwM2mSingleResource.newStringResource(10, "hello"), @@ -109,6 +145,42 @@ public void two_non_identical_multiple_opaques_are_not_equal() { LwM2mMultipleResource.newBinaryResource(10, values1)); } + @Test + public void two_identical_multiple_corelink_are_equal() throws LinkParseException { + Map values1 = new HashMap<>(); + values1.put(0, + linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes())); + Map values2 = new HashMap<>(); + values2.put(0, + linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes())); + + assertEquals(LwM2mMultipleResource.newCoreLinkResource(10, values1), + LwM2mMultipleResource.newCoreLinkResource(10, values2)); + } + + @Test + public void two_non_identical_multiple_corelink_are_not_equal() throws LinkParseException { + Map values1 = new HashMap<>(); + values1.put(0, + linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes())); + Map values2 = new HashMap<>(); + values2.put(0, + linkParser.parseCoreLinkFormat( + ";rt=\"oma.lwm2m\";ct=\"60 110 112 1542 1543 11542 11543\",,,," + .getBytes())); + + assertNotEquals(LwM2mMultipleResource.newCoreLinkResource(10, values1), + LwM2mMultipleResource.newCoreLinkResource(10, values2)); + assertNotEquals(LwM2mMultipleResource.newCoreLinkResource(11, values1), + LwM2mMultipleResource.newCoreLinkResource(10, values1)); + } + @Test public void two_multiple_string_and_multiple_binary_are_not_equal() { Map values1 = new HashMap<>();