package org.fastcatsearch.ir.setting; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.StringReader; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import org.fastcatsearch.ir.settings.FieldSetting; import org.junit.Test; public class FieldSettingTest { @Test public void testSettingMarshall() throws JAXBException { FieldSetting setting = new FieldSetting("title", "타이틀", FieldSetting.Type.STRING); setting.setRemoveTag(true); setting.setStore(false); JAXBContext context = JAXBContext.newInstance(setting.getClass()); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(setting, System.out); } @Test public void testSettingUnmarshall() throws JAXBException { String fieldSettingXML = "<field id=\"title\" type=\"ACHAR\" name=\"문서제목\" size=\"100\" store=\"\" removeTag=\"true\" modify=\"\" multiValue=\"false\" multiValueDelimiter=\",\" />"; JAXBContext context = JAXBContext.newInstance(FieldSetting.class); Unmarshaller unmarshaller = context.createUnmarshaller(); FieldSetting setting = (FieldSetting) unmarshaller.unmarshal(new StringReader(fieldSettingXML)); assertTrue(setting.isRemoveTag()); assertEquals(100, setting.getSize().intValue()); assertTrue(setting.isStore()); assertFalse(setting.isModify()); } }