package com.lateensoft.pathfinder.toolkit.serialize;
import com.lateensoft.pathfinder.toolkit.model.character.Feat;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import java.io.InvalidObjectException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@RunWith(JUnit4.class)
public class FeatXMLAdapterTest {
private static final FeatXMLAdapter m_adapter = new FeatXMLAdapter();
@Test
public void testConversion() throws InvalidObjectException, DocumentException {
Feat expectedFeat = new Feat();
expectedFeat.setName("<feat1>");
expectedFeat.setDescription("description and \nStuff");
Element featElement = m_adapter.toXML(expectedFeat);
Feat generatedSpell = m_adapter.toObject(featElement);
assertEquals(expectedFeat, generatedSpell);
}
@Test
public void testToObjectInvalid() throws InvalidObjectException, DocumentException {
try {
Element invalidElement1 = DocumentHelper.parseText("<feat >" +
"</feat>").getRootElement();
m_adapter.toObject(invalidElement1);
fail();
} catch (InvalidObjectException e) {}
try {
Element invalidElement2 = DocumentHelper.parseText("<feat name=\"feat2\">" +
"</feat>").getRootElement();
m_adapter.toObject(invalidElement2);
fail();
} catch (InvalidObjectException e) {}
}
}