package io.vivarium.scripts.json; import org.junit.Test; import org.junit.experimental.categories.Category; import com.johnuckele.vtest.Tester; import io.vivarium.core.GridWorldBlueprint; import io.vivarium.core.GridWorld; import io.vivarium.serialization.JSONConverter; import io.vivarium.serialization.VivariumObjectCollection; import io.vivarium.test.FastTest; import io.vivarium.test.IntegrationTest; public class JSONConverterTest { @Test @Category({ FastTest.class, IntegrationTest.class }) public void testSaveLoadSaveWorld() { GridWorldBlueprint worldBlueprint = GridWorldBlueprint.makeDefault(); GridWorld worldOriginal = new GridWorld(worldBlueprint); String jsonString1 = JSONConverter.serializerToJSONString(worldOriginal); VivariumObjectCollection copiedCollection = JSONConverter.jsonStringToSerializerCollection(jsonString1); GridWorld worldCopy = copiedCollection.getFirst(GridWorld.class); String jsonString2 = JSONConverter.serializerToJSONString(worldCopy); System.out.println(jsonString1); System.out.println(jsonString2); Tester.notEqual("jsonStrings shot not be empty", jsonString1.length(), 0); Tester.equal("jsonStrings should also be the same length", jsonString1.length(), jsonString2.length()); } }