package com.offbytwo.jenkins.model;
import org.junit.Test;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.assertTrue;
public class ParametersDefinitionPropertyTest extends BaseXmlMarshallingTest {
@Test
public void shouldMarshallParametersDefinitionProperty() throws JAXBException {
// given
StringWriter sw = new StringWriter();
configureXmlMarshallerFor(ParametersDefinitionProperty.class);
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
ParametersDefinitionProperty pdp = givenParametersDefinitionProperty();
// when
marshaller.marshal(pdp, sw);
// then
assertTrue(sw.toString().contains("<name>aaa</name>"));
assertTrue(sw.toString().contains("<description>aaa</description>"));
assertTrue(sw.toString().contains("<defaultValue>aaa</defaultValue>"));
assertTrue(sw.toString().contains("<name>bbb</name>"));
assertTrue(sw.toString().contains("<description>bbb</description>"));
assertTrue(sw.toString().contains("<defaultValue>bbb</defaultValue>"));
}
private ParametersDefinitionProperty givenParametersDefinitionProperty() {
StringParameterDefinition s1 = new StringParameterDefinition("aaa", "aaa", "aaa");
StringParameterDefinition s2 = new StringParameterDefinition("bbb", "bbb", "bbb");
List<StringParameterDefinition> list = new ArrayList<StringParameterDefinition>();
list.add(s1);
list.add(s2);
ParameterDefinitions pd = new ParameterDefinitions();
pd.setStringParams(list);
ParametersDefinitionProperty pdp = new ParametersDefinitionProperty();
pdp.setPd(pd);
return pdp;
}
}