// Path: src/main/java/com/pgasync/Converter.java
// public interface Converter<T> {
// 
//     /**
//      * @return Class to convert
//      */
//     Class<T> type();
// 
//     /**
//      * @param o Object to convert, never null
//      * @return data in backend format
//      */
//     String from(T o);
// 
//     /**
//      * @param oid Value oid
//      * @param value Value in backend format, never null
//      * @return Converted object, never null
//      */
//     T to(Oid oid, String value);
// 
// }


import com.pgasync.Converter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import java.util.List;
import static org.junit.Assert.assertEquals;
package com.github.pgasync;




/**
 * @author Antti Laisi
 */
public class CustomConverterTest {

    static class Json {
        final String json;

        Json(String json) {
            this.json = json;
        }
    }

// Path: src/main/java/com/pgasync/Converter.java
// public interface Converter<T> {
// 
//     /**
//      * @return Class to convert
//      */
//     Class<T> type();
// 
//     /**
//      * @param o Object to convert, never null
//      * @return data in backend format
//      */
//     String from(T o);
// 
//     /**
//      * @param oid Value oid
//      * @param value Value in backend format, never null
//      * @return Converted object, never null
//      */
//     T to(Oid oid, String value);
// 
// }


// Path: src/test/java/com/github/pgasync/CustomConverterTest.java
import com.pgasync.Converter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import java.util.List;
import static org.junit.Assert.assertEquals;

package com.github.pgasync;




/**
 * @author Antti Laisi
 */
public class CustomConverterTest {

    static class Json {
        final String json;

        Json(String json) {
            this.json = json;
        }
    }

    static class JsonConverter implements Converter<Json> {