@Test public void parseJson() { JCardValue value = JCardValue.structured( "P.O. Box 1234;", "Apt, 11", "123 Main St", "Austin", "TX", "12345", "USA"); sensei.assertParseJson(value).run(is(withAllFields)); value = JCardValue.structured("P.O. Box 1234;", "", "", "Austin", "TX", "12345", ""); sensei.assertParseJson(value).run(is(withSomeFields)); value = JCardValue.structured("", null, "", "", "", "", ""); sensei.assertParseJson(value).run(is(empty)); value = JCardValue.structured(); sensei.assertParseJson(value).run(is(empty)); value = JCardValue.structured("P.O. Box 1234;", "Apt, 11", "123 Main St", "Austin"); sensei .assertParseJson(value) .run( new Check<Address>() { public void check(Address property) { assertEquals("P.O. Box 1234;", property.getPoBox()); assertEquals("Apt, 11", property.getExtendedAddress()); assertEquals("123 Main St", property.getStreetAddress()); assertEquals("Austin", property.getLocality()); assertNull(property.getRegion()); assertNull(property.getPostalCode()); assertNull(property.getCountry()); } }); }
@Test public void writeJson() { sensei .assertWriteJson(withAllFields) .run( JCardValue.structured( "P.O. Box 1234;", "Apt, 11", "123 Main St", "Austin", "TX", "12345", "USA")); sensei .assertWriteJson(withSomeFields) .run(JCardValue.structured("P.O. Box 1234;", "", "", "Austin", "TX", "12345", "")); sensei.assertWriteJson(empty).run(JCardValue.structured("", "", "", "", "", "", "")); }
@Test public void parseJson_structured() { JCardValue value = JCardValue.structured(null, "value1", "val,;ue2", Arrays.asList("value3", "value4")); sensei .assertParseJson(value) .dataType(VCardDataType.TEXT) .warnings(1) .run( new Check<TestProperty>() { public void check(TestProperty property) { assertEquals(";value1;val\\,\\;ue2;value3,value4", property.value); } }); }
@Test public void structured_parse_jcard_value() { JCardValue input = JCardValue.structured("one", Arrays.asList("two", "three,four"), null, "", "five;six"); // using "nextComponent()" StructuredIterator it = VCardPropertyScribe.structured(input); assertEquals(Arrays.asList("one"), it.nextComponent()); assertEquals(Arrays.asList("two", "three,four"), it.nextComponent()); assertEquals(Arrays.asList(), it.nextComponent()); assertEquals(Arrays.asList(), it.nextComponent()); assertEquals(Arrays.asList("five;six"), it.nextComponent()); assertEquals(Arrays.asList(), it.nextComponent()); // using "nextString()" it = VCardPropertyScribe.structured(input); assertEquals("one", it.nextString()); assertEquals("two", it.nextString()); assertEquals(null, it.nextString()); assertEquals(null, it.nextString()); assertEquals("five;six", it.nextString()); assertEquals(null, it.nextString()); }