package com.jsoniter.any;
import com.jsoniter.JsonIterator;
import junit.framework.TestCase;
import java.util.HashMap;
import java.util.Map;
public class TestMap extends TestCase {
public void test_size() {
Any any = Any.wrap(mapOf("hello", 1, "world", 2));
assertEquals(2, any.size());
}
public void test_to_boolean() {
Any any = Any.wrap(mapOf());
assertFalse(any.toBoolean());
any = Any.wrap(mapOf("hello", 1));
assertTrue(any.toBoolean());
}
public void test_to_int() {
Any any = Any.wrap(mapOf());
assertEquals(0, any.toInt());
any = Any.wrap(mapOf("hello", 1));
assertEquals(1, any.toInt());
}
public void test_get() {
Any any = Any.wrap(mapOf("hello", 1, "world", 2));
assertEquals(2, any.get("world").toInt());
}
public void test_get_from_nested() {
Any any = Any.wrap(mapOf("a", mapOf("b", "c"), "d", mapOf("e", "f")));
assertEquals("c", any.get("a", "b").toString());
assertEquals("{\"a\":\"c\"}", any.get('*', "b").toString());
}
public void test_iterator() {
Any any = Any.wrap(mapOf("hello", 1, "world", 2));
Any.EntryIterator iter = any.entries();
HashMap<String, Object> map = new HashMap<String, Object>();
while (iter.next()) {
map.put(iter.key(), iter.value().toInt());
}
assertEquals(mapOf("hello", 1, "world", 2), map);
}
public void test_to_string() {
assertEquals("{\"world\":2,\"hello\":1}", Any.wrap(mapOf("hello", 1, "world", 2)).toString());
Any any = Any.wrap(mapOf("hello", 1, "world", 2));
any.asMap().put("abc", Any.wrap(3));
assertEquals("{\"world\":2,\"abc\":3,\"hello\":1}", any.toString());
}
private static Map<String, Object> mapOf(Object... args) {
HashMap<String, Object> map = new HashMap<String, Object>();
for (int i = 0; i < args.length; i += 2) {
map.put((String) args[i], args[i + 1]);
}
return map;
}
}