1 package net.pterodactylus.sone.utils
3 import com.fasterxml.jackson.databind.node.ArrayNode
4 import com.fasterxml.jackson.databind.node.ObjectNode
5 import org.hamcrest.MatcherAssert.assertThat
6 import org.hamcrest.Matchers.equalTo
7 import org.hamcrest.Matchers.instanceOf
11 * Unit test for JSON utilities.
16 fun `object node is created correctly`() {
17 val objectNode = jsonObject {
20 assertThat(objectNode, instanceOf(ObjectNode::class.java))
21 assertThat(objectNode.toString(), equalTo("{\"foo\":\"bar\"}"))
25 fun `object node is created with properties`() {
26 val objectNode = jsonObject("foo" to "bar", "baz" to "quo")
27 assertThat(objectNode.toString(), equalTo("{\"foo\":\"bar\",\"baz\":\"quo\"}"))
31 fun `array node is created correctly`() {
32 val arrayNode = listOf(
33 jsonObject { put("foo", "bar") },
34 jsonObject { put("baz", "quo") }
36 assertThat(arrayNode, instanceOf(ArrayNode::class.java))
37 assertThat(arrayNode.toString(), equalTo("[{\"foo\":\"bar\"},{\"baz\":\"quo\"}]"))
41 fun `array is created correctly for strings`() {
42 val arrayNode = jsonArray("foo", "bar", "baz")
43 assertThat(arrayNode.toString(), equalTo("[\"foo\",\"bar\",\"baz\"]"))