package org.compass.core.test.json.array.dynamic; import org.compass.core.CompassSession; import org.compass.core.CompassTransaction; import org.compass.core.Resource; import org.compass.core.json.RawAliasedJsonObject; import org.compass.core.test.AbstractTestCase; /** * @author kimchy */ public class SimpleDynamicJsonArrayTests extends AbstractTestCase { protected String[] getMappings() { return new String[]{"json/array/dynamic/mapping.cpm.xml"}; } public void testSimpleDynamicJsonArray() { CompassSession session = openSession(); CompassTransaction tr = session.beginTransaction(); RawAliasedJsonObject jsonObject = new RawAliasedJsonObject("a", "{id : 1, value : \"test\", arr : [1, 2]}"); session.save(jsonObject); Resource resource = session.loadResource("a", 1); assertEquals("test", resource.getValue("value")); assertEquals(2, resource.getProperties("arr").length); assertEquals("1", resource.getValues("arr")[0]); assertEquals("2", resource.getValues("arr")[1]); tr.commit(); session.close(); } public void testNoArrayMappingDynamicJsonArray() { CompassSession session = openSession(); CompassTransaction tr = session.beginTransaction(); RawAliasedJsonObject jsonObject = new RawAliasedJsonObject("b", "{id : 1, value : \"test\", arr : [1, 2]}"); session.save(jsonObject); Resource resource = session.loadResource("b", 1); assertEquals("test", resource.getValue("value")); assertEquals(2, resource.getProperties("arr").length); assertEquals("1", resource.getValues("arr")[0]); assertEquals("2", resource.getValues("arr")[1]); tr.commit(); session.close(); } }