package org.marketcetera.module;
import org.marketcetera.util.misc.ClassVersion;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
/* $License$ */
/**
* Tests {@link ModuleURNXmlAdapter}.
*
* @author anshul@marketcetera.com
* @version $Id: ModuleURNXmlAdapterTest.java 16154 2012-07-14 16:34:05Z colin $
* @since 2.0.0
*/
@ClassVersion("$Id: ModuleURNXmlAdapterTest.java 16154 2012-07-14 16:34:05Z colin $")
public class ModuleURNXmlAdapterTest {
private static final ModuleURNXmlAdapter sAdapter = new ModuleURNXmlAdapter();
@Test
public void roundtrip() throws Exception {
roundtrip("metc:what");
roundtrip("metc:what:why");
roundtrip("metc:what:why:where");
}
@Test
public void failures() throws Exception {
//marshalling failures
new ExpectedFailure<NullPointerException>(){
@Override
protected void run() throws Exception {
sAdapter.marshal(null);
}
};
//unmarshalling failures
new ExpectedFailure<IllegalArgumentException>(Messages.EMPTY_URN.getText("")){
@Override
protected void run() throws Exception {
sAdapter.unmarshal("");
}
};
}
private static void roundtrip(String inString) throws Exception {
assertEquals(new ModuleURN(inString), sAdapter.unmarshal(inString));
assertEquals(inString, sAdapter.marshal(new ModuleURN(inString)));
}
}