Skip to content

Commit

Permalink
PR Comments (+ extra tests)
Browse files Browse the repository at this point in the history
  • Loading branch information
Will Nicholson committed May 8, 2019
1 parent 6fc1c19 commit 2068e19
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 12 deletions.
10 changes: 5 additions & 5 deletions src/test/java/org/joda/beans/sample/JodaConvertInterface.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@ public interface JodaConvertInterface {

@FromString
public static JodaConvertInterface of(String uniqueName) {
return uniqueName.equalsIgnoreCase(First.instance.toString()) ?
First.instance :
Second.instance;
return uniqueName.equalsIgnoreCase(First.INSTANCE.toString()) ?
First.INSTANCE :
Second.INSTANCE;
}

@ToString
public abstract String toString();

final class First implements JodaConvertInterface {

static final First instance = new First();
static final First INSTANCE = new First();

@Override
public String toString() {
Expand All @@ -45,7 +45,7 @@ public String toString() {

final class Second implements JodaConvertInterface {

static final Second instance = new Second();
static final Second INSTANCE = new Second();

@Override
public String toString() {
Expand Down
9 changes: 9 additions & 0 deletions src/test/java/org/joda/beans/ser/SerTestHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import org.joda.beans.sample.ImmOptional;
import org.joda.beans.sample.ImmPerson;
import org.joda.beans.sample.ImmTreeNode;
import org.joda.beans.sample.JodaConvertInterface;
import org.joda.beans.sample.Person;
import org.joda.beans.sample.PrimitiveBean;
import org.joda.beans.sample.RiskLevel;
Expand Down Expand Up @@ -215,6 +216,14 @@ public static ImmGuava<String> testCollections() {
.biMapInterface(bimap)
.build();
}

public static ImmGenericCollections<JodaConvertInterface> testGenericInterfaces() {
return ImmGenericCollections.<JodaConvertInterface>builder()
.map(ImmutableMap.of(
"First", JodaConvertInterface.of("First"),
"Second", JodaConvertInterface.of("Second")))
.build();
}

public static ImmGenericCollections<Map<ImmJodaConvertBean, String>> testGenericNestedCollections() {
return ImmGenericCollections.<Map<ImmJodaConvertBean, String>>builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@
import org.joda.beans.test.BeanAssert;
import org.junit.Test;

import com.google.common.collect.ImmutableMap;

/**
* Test property roundtrip using referencing binary.
*/
Expand Down Expand Up @@ -74,11 +72,7 @@ public void test_writeCollections() {

@Test
public void test_writeJodaConvertInterface() {
ImmGenericCollections<JodaConvertInterface> array = ImmGenericCollections.<JodaConvertInterface>builder()
.map(ImmutableMap.of(
"First", JodaConvertInterface.of("First"),
"Second", JodaConvertInterface.of("Second")))
.build();
ImmGenericCollections<JodaConvertInterface> array = SerTestHelper.testGenericInterfaces();

byte[] bytes = JodaBeanSer.COMPACT.binWriterReferencing().write(array);
// System.out.println(JodaBeanBinReader.visualize(bytes));
Expand Down
15 changes: 15 additions & 0 deletions src/test/java/org/joda/beans/ser/bin/TestSerializeStandardBin.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,11 @@
import org.joda.beans.sample.Company;
import org.joda.beans.sample.ImmAddress;
import org.joda.beans.sample.ImmDoubleFloat;
import org.joda.beans.sample.ImmGenericCollections;
import org.joda.beans.sample.ImmGuava;
import org.joda.beans.sample.ImmOptional;
import org.joda.beans.sample.JodaConvertBean;
import org.joda.beans.sample.JodaConvertInterface;
import org.joda.beans.sample.JodaConvertWrapper;
import org.joda.beans.sample.Person;
import org.joda.beans.ser.JodaBeanSer;
Expand Down Expand Up @@ -90,6 +92,19 @@ public void test_writeCollections() {
BeanAssert.assertBeanEquals(bean, optional);
}

@Test
public void test_writeJodaConvertInterface() {
ImmGenericCollections<JodaConvertInterface> array = SerTestHelper.testGenericInterfaces();

byte[] bytes = JodaBeanSer.COMPACT.binWriter().write(array);
// System.out.println(JodaBeanBinReader.visualize(bytes));

@SuppressWarnings("unchecked")
ImmGenericCollections<JodaConvertInterface> bean = (ImmGenericCollections<JodaConvertInterface>) JodaBeanSer.COMPACT.binReader().read(bytes);
// System.out.println(bean);
BeanAssert.assertBeanEquals(bean, array);
}

//-----------------------------------------------------------------------
@Test
public void test_readWrite_primitives() throws IOException {
Expand Down
15 changes: 15 additions & 0 deletions src/test/java/org/joda/beans/ser/json/TestSerializeJson.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,14 @@
import org.joda.beans.sample.ImmAddress;
import org.joda.beans.sample.ImmDoubleFloat;
import org.joda.beans.sample.ImmEmpty;
import org.joda.beans.sample.ImmGenericCollections;
import org.joda.beans.sample.ImmGuava;
import org.joda.beans.sample.ImmKey;
import org.joda.beans.sample.ImmMappedKey;
import org.joda.beans.sample.ImmOptional;
import org.joda.beans.sample.ImmPerson;
import org.joda.beans.sample.JodaConvertBean;
import org.joda.beans.sample.JodaConvertInterface;
import org.joda.beans.sample.JodaConvertWrapper;
import org.joda.beans.sample.Person;
import org.joda.beans.sample.PrimitiveBean;
Expand Down Expand Up @@ -107,6 +109,19 @@ public void test_writeCollections() throws IOException {
BeanAssert.assertBeanEquals(bean, optional);
}

@Test
public void test_writeJodaConvertInterface() {
ImmGenericCollections<JodaConvertInterface> array = SerTestHelper.testGenericInterfaces();

String json = JodaBeanSer.COMPACT.jsonWriter().write(array);
// System.out.println(json);

@SuppressWarnings("unchecked")
ImmGenericCollections<JodaConvertInterface> bean = (ImmGenericCollections<JodaConvertInterface>) JodaBeanSer.COMPACT.jsonReader().read(json);
// System.out.println(bean);
BeanAssert.assertBeanEquals(bean, array);
}

private void assertEqualsSerialization(String json, String expectedResource) throws IOException {
URL url = TestSerializeJson.class.getResource(expectedResource);
String expected = Resources.asCharSource(url, StandardCharsets.UTF_8).read();
Expand Down
15 changes: 15 additions & 0 deletions src/test/java/org/joda/beans/ser/xml/TestSerializeXml.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,14 @@
import org.joda.beans.sample.ImmAddress;
import org.joda.beans.sample.ImmDoubleFloat;
import org.joda.beans.sample.ImmEmpty;
import org.joda.beans.sample.ImmGenericCollections;
import org.joda.beans.sample.ImmGuava;
import org.joda.beans.sample.ImmKey;
import org.joda.beans.sample.ImmMappedKey;
import org.joda.beans.sample.ImmOptional;
import org.joda.beans.sample.ImmPerson;
import org.joda.beans.sample.JodaConvertBean;
import org.joda.beans.sample.JodaConvertInterface;
import org.joda.beans.sample.JodaConvertWrapper;
import org.joda.beans.sample.Person;
import org.joda.beans.sample.SimpleName;
Expand Down Expand Up @@ -106,6 +108,19 @@ public void test_writeCollections() {
// System.out.println(bean);
BeanAssert.assertBeanEquals(bean, optional);
}

@Test
public void test_writeJodaConvertInterface() {
ImmGenericCollections<JodaConvertInterface> array = SerTestHelper.testGenericInterfaces();

String xml = JodaBeanSer.COMPACT.xmlWriter().write(array);
// System.out.println(xml);

@SuppressWarnings("unchecked")
ImmGenericCollections<JodaConvertInterface> bean = (ImmGenericCollections<JodaConvertInterface>) JodaBeanSer.COMPACT.xmlReader().read(xml);
// System.out.println(bean);
BeanAssert.assertBeanEquals(bean, array);
}

//-----------------------------------------------------------------------
@Test
Expand Down

0 comments on commit 2068e19

Please sign in to comment.