package pl.edu.icm.saos.search.analysis.solr.result; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.List; import org.junit.Before; import org.junit.Test; import pl.edu.icm.saos.common.chart.Point; import pl.edu.icm.saos.common.chart.Series; import pl.edu.icm.saos.search.analysis.request.XSettings; import com.google.common.collect.Lists; /** * @author madryk */ public class FacetToSeriesConverterTest { private FacetToSeriesConverter facetToSeriesConverter = new FacetToSeriesConverter(); private FacetValueConverterManager facetValueConverterManager = mock(FacetValueConverterManager.class); private XSettings xsettings = mock(XSettings.class); @Before public void setUp() { facetToSeriesConverter.setFacetValueConverterManager(facetValueConverterManager); } //------------------------ TESTS -------------------------- @Test public void convert() { // given List<FacetCount> facetCounts = Lists.newArrayList(); facetCounts.add(new FacetCount("AAA", 4)); facetCounts.add(new FacetCount("EFGH", 1)); XSettings xsettings = mock(XSettings.class); FacetValueConverter facetValueConverter = mock(FacetValueConverter.class); when(facetValueConverterManager.getConverter(xsettings)).thenReturn(facetValueConverter); when(facetValueConverter.convert("AAA", xsettings)).thenReturn("AAA_converted"); when(facetValueConverter.convert("EFGH", xsettings)).thenReturn("EFGH_converted"); // execute Series<Object, Integer> series = facetToSeriesConverter.convert(facetCounts, xsettings); // assert List<Point<Object, Integer>> expectedPoints = Lists.newArrayList(); expectedPoints.add(new Point<>("AAA_converted", 4)); expectedPoints.add(new Point<>("EFGH_converted", 1)); assertEquals(expectedPoints, series.getPoints()); } @Test(expected = NullPointerException.class) public void convert_NULL_FACET_COUNTS() { // execute facetToSeriesConverter.convert(null, xsettings); } @Test(expected = NullPointerException.class) public void convert_NULL_XSETTINGS() { // given List<FacetCount> facetCounts = Lists.newArrayList(); // execute facetToSeriesConverter.convert(facetCounts, null); } }