diff --git a/briar-tests/src/org/briarproject/data/MetadataEncoderImplTest.java b/briar-tests/src/org/briarproject/data/MetadataEncoderImplTest.java deleted file mode 100644 index c0ab879def193ba9de00e83b6e758ef65b64c34d..0000000000000000000000000000000000000000 --- a/briar-tests/src/org/briarproject/data/MetadataEncoderImplTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.briarproject.data; - -import org.briarproject.BriarTestCase; -import org.junit.Test; - -import static org.junit.Assert.fail; - -public class MetadataEncoderImplTest extends BriarTestCase { - - @Test - public void testUnitTestsExist() { - fail(); // FIXME: Write tests - } -} diff --git a/briar-tests/src/org/briarproject/data/MetadataEncoderParserImplTest.java b/briar-tests/src/org/briarproject/data/MetadataEncoderParserImplTest.java new file mode 100644 index 0000000000000000000000000000000000000000..038ac23c124bbd361c52640df66ab8256a109c1e --- /dev/null +++ b/briar-tests/src/org/briarproject/data/MetadataEncoderParserImplTest.java @@ -0,0 +1,158 @@ +package org.briarproject.data; + +import org.briarproject.BriarTestCase; +import org.briarproject.api.FormatException; +import org.briarproject.api.data.BdfDictionary; +import org.briarproject.api.db.Metadata; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +public class MetadataEncoderParserImplTest extends BriarTestCase { + + MetadataEncoderImpl e = new MetadataEncoderImpl(); + MetadataParserImpl p = new MetadataParserImpl(); + BdfDictionary d = new BdfDictionary(); + + @Test + public void testBoolean() throws FormatException { + d.put("test", true); + Metadata metadata = e.encode(d); + + assertEquals(p.parse(metadata).getBoolean("test", false), true); + } + + @Test + public void testInteger() throws FormatException { + d.put("test", 1337); + Metadata metadata = e.encode(d); + + assertEquals((long) p.parse(metadata).getInteger("test", 0L), 1337L); + } + + @Test + public void testLong() throws FormatException { + d.put("test", Long.MAX_VALUE); + Metadata metadata = e.encode(d); + + assertEquals((long) p.parse(metadata).getInteger("test", 0L), + Long.MAX_VALUE); + } + + @Test + public void testDouble() throws FormatException { + d.put("test", Double.MAX_VALUE); + Metadata metadata = e.encode(d); + + assertEquals(p.parse(metadata).getFloat("test", 0.0), + Double.MAX_VALUE, 0); + } + + @Test + public void testFloat() throws FormatException { + d.put("test", Float.MIN_NORMAL); + Metadata metadata = e.encode(d); + + assertEquals(p.parse(metadata).getFloat("test", 0.0), + Float.MIN_NORMAL, 0); + } + + @Test + public void testString() throws FormatException { + d.put("test", "abc"); + Metadata metadata = e.encode(d); + + assertEquals(p.parse(metadata).getString("test", null), "abc"); + } + + @Test + public void testUtf8String() throws FormatException { + d.put("test", "abcdefghilkmnopqrst ������ \uFDD0\uFDD1\uFDD2\uFDD3"); + Metadata metadata = e.encode(d); + + assertEquals(p.parse(metadata).getString("test", null), + "abcdefghilkmnopqrst ������ \uFDD0\uFDD1\uFDD2\uFDD3"); + } + + @Test + public void testRaw() throws FormatException { + byte[] b = "\uFDD0\uFDD1\uFDD2\uFDD3".getBytes(); + d.put("test", b); + Metadata metadata = e.encode(d); + + assertEquals(p.parse(metadata).getRaw("test", null), b); + } + + @Test + public void testList() throws FormatException { + List<Long> l = new ArrayList<Long>(4); + l.add(42L); + l.add(1337L); + l.add(Long.MIN_VALUE); + l.add(Long.MAX_VALUE); + + d.put("test", l); + Metadata metadata = e.encode(d); + + assertArrayEquals(p.parse(metadata).getList("test", null).toArray(), + l.toArray()); + } + + @Test + public void testDictionary() throws FormatException { + Map<String, Boolean> m = new HashMap<String, Boolean>(); + m.put("1", true); + m.put("2", false); + + d.put("test", m); + Metadata metadata = e.encode(d); + + assertEquals(p.parse(metadata).getDictionary("test", null) + .getBoolean("1", false), true); + + assertEquals(p.parse(metadata).getDictionary("test", null) + .getBoolean("2", true), false); + } + + @Test + public void testComplexDictionary() throws FormatException { + Map<String, List> m = new HashMap<String, List>(); + List<String> one = new ArrayList<String>(3); + one.add("����"); + one.add("������"); + one.add("����"); + m.put("One", one); + List<String> two = new ArrayList<String>(2); + two.add("\u0080"); + two.add("\uD800\uDC00"); + m.put("Two", two); + d.put("test", m); + + Map<String, Boolean> m2 = new HashMap<String, Boolean>(); + m2.put("should be true", true); + d.put("another test", m2); + + Metadata metadata = e.encode(d); + + assertEquals(p.parse(metadata).getDictionary("test", null) + .getList("One", null).get(0), "����"); + assertEquals(p.parse(metadata).getDictionary("test", null) + .getList("One", null).get(1), "������"); + assertEquals(p.parse(metadata).getDictionary("test", null) + .getList("One", null).get(2), "����"); + assertEquals(p.parse(metadata).getDictionary("test", null) + .getList("Two", null).get(0), "\u0080"); + assertEquals(p.parse(metadata).getDictionary("test", null) + .getList("Two", null).get(0), "\uD800\uDC00"); + + assertEquals(p.parse(metadata).getDictionary("another test", null) + .getBoolean("should be true", false), true); + } + +} diff --git a/briar-tests/src/org/briarproject/data/MetadataParserImplTest.java b/briar-tests/src/org/briarproject/data/MetadataParserImplTest.java deleted file mode 100644 index 5e3518fb509cc41e266048c9eef7356a29cccd61..0000000000000000000000000000000000000000 --- a/briar-tests/src/org/briarproject/data/MetadataParserImplTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.briarproject.data; - -import org.briarproject.BriarTestCase; -import org.junit.Test; - -import static org.junit.Assert.fail; - -public class MetadataParserImplTest extends BriarTestCase { - - @Test - public void testUnitTestsExist() { - fail(); // FIXME: Write tests - } -}