package com.constellio.model.services.search; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import com.constellio.model.services.search.Elevations.QueryElevation; public class ElevationViewTest { private static final String SAMPLE_XML_ELEVATION = "<elevate> " + "<query text=\"foo bar\"> <doc id=\"1\" exclude=\"true\"/> <doc id=\"2\" exclude=\"false\"/> </query> " + "<query text=\"ipod\"> <doc id=\"1\" exclude=\"false\"/> </query> " + "</elevate>"; @Test public void givenAnElevationsConfigurationWhenMarshelingElevationToXmlThenXmlContainsValidElements() { //given Elevations ELEVATION = getSampleElevations(); //when ElevationsView elevationView = new ElevationsView(); elevationView.setData(ELEVATION); String xmlContent = new String(elevationView.toBytes()); //then String simpleXml = xmlContent.replaceAll("\\s+", " "); assertThat(simpleXml).contains(SAMPLE_XML_ELEVATION); } private Elevations getSampleElevations() { Elevations ELEVATION = new Elevations(); QueryElevation QUERY_ELEVATION = new QueryElevation("foo bar"); QUERY_ELEVATION.getDocElevations().add(new QueryElevation.DocElevation("1", true)); QUERY_ELEVATION.getDocElevations().add(new QueryElevation.DocElevation("2", false)); ELEVATION.getQueryElevations().add(QUERY_ELEVATION); QUERY_ELEVATION = new QueryElevation("ipod"); QUERY_ELEVATION.getDocElevations().add(new QueryElevation.DocElevation("1", false)); ELEVATION.getQueryElevations().add(QUERY_ELEVATION); return ELEVATION; } @Test public void givenAnXMLFileWhenConstructingAnElevationsObjectFromItThenTheElevationsObjectIsInitializedCorrectly() { //when ElevationsView elevationView = new ElevationsView(); elevationView.init(SAMPLE_XML_ELEVATION.getBytes()); Elevations elevations = elevationView.getData(); //then assertThat(elevations).isEqualTo(getSampleElevations()); } }