X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Ftest%2FSerialTest.java;h=8fb17220a2d549171193104b4bfd81e17a55a682;hb=d62784c73d3d2a6f460cd612c84b39a9c7fc9cb3;hp=26571dfcb9755653d0208558548a720c60d84b4f;hpb=72648e757f648cd152bc00dfb83f895260f037a0;p=nikiroo-utils.git diff --git a/src/be/nikiroo/utils/test/SerialTest.java b/src/be/nikiroo/utils/test/SerialTest.java index 26571df..8fb1722 100644 --- a/src/be/nikiroo/utils/test/SerialTest.java +++ b/src/be/nikiroo/utils/test/SerialTest.java @@ -31,11 +31,13 @@ class SerialTest extends TestLauncher { }); addTest(new TestCase() { + @SuppressWarnings("unused") private TestCase me = setName("Anonymous inner class"); @Override public void test() throws Exception { Data data = new Data() { + int value = 42; }; String encoded = new Exporter().append(data).toString(false); @@ -48,6 +50,37 @@ class SerialTest extends TestLauncher { } }); + addTest(new TestCase() { + @SuppressWarnings("unused") + private TestCase me = setName("Array of anonymous inner classes"); + + @Override + public void test() throws Exception { + Data[] data = new Data[] { new Data() { + int value = 42; + } }; + + String encoded = new Exporter().append(data).toString(false); + Object redata = new Importer().read(encoded).getValue(); + String reencoded = new Exporter().append(redata) + .toString(false); + + // Comparing the 2 strings won't be useful, because the @REFs + // will be ZIP-encoded; so we parse and re-encode the object + encoded = new Exporter().append(data[0]).toString(false); + try { + reencoded = new Exporter().append(((Data[]) redata)[0]) + .toString(false); + } catch (Exception e) { + fail("Cannot cast the returned data into its original object", + e); + } + + assertEquals(encoded.replaceAll("@[0-9]*", "@REF"), + reencoded.replaceAll("@[0-9]*", "@REF")); + } + }); + addTest(new TestCase("URL Import/Export") { @Override public void test() throws Exception {