protected Properties saveToProperties() { SortedProperties properties = new SortedProperties(); int index = 0; for (Contact contact: contacts) { String prefix = "contact" + index + "."; properties.setProperty(prefix + "name", contact.getName()); String base64Dest = contact.getDestination().toBase64(); properties.setProperty(prefix + "destination", base64Dest); String pictureBase64 = contact.getPictureBase64(); properties.setProperty(prefix + "picture", (pictureBase64==null ? "" : pictureBase64)); String text = contact.getText(); properties.setProperty(prefix + "text", (text==null ? "" : text)); index++; } return properties; }
@Test public void toByteArrayAndBack() throws IOException, GeneralSecurityException { WordListAnchor wordLists = new WordListAnchor(); String[] wordListEN = wordLists.getWordList("en"); String[] wordListDE = wordLists.getWordList("de"); byte[] arrayA = contact.toByteArray(); Contact contact2 = new Contact(arrayA); assertEquals(contact.getName(), contact2.getName()); assertEquals(contact.getDestination().toBase64(), contact2.getDestination().toBase64()); assertEquals(contact.getText(), contact2.getText()); assertEquals(contact.getFingerprint().getWords(wordListDE), contact2.getFingerprint().getWords(wordListDE)); assertEquals(contact.getFingerprint().getWords(wordListEN), contact2.getFingerprint().getWords(wordListEN)); assertFalse(contact.getFingerprint().getWords(wordListEN).equals(contact2.getFingerprint().getWords(wordListDE))); assertEquals(contact.getPictureBase64(), contact2.getPictureBase64()); byte[] arrayB = contact2.toByteArray(); assertArrayEquals("The two arrays differ!", arrayA, arrayB); }