package simple.escp.data; import org.junit.Test; import static org.junit.Assert.*; import java.util.HashMap; import java.util.Map; public class DataSourcesTest { @Test public void fromObject() { Map<String, Object> map = new HashMap<>(); map.put("firstName", "solid"); map.put("lastName", "snake"); DataSource ds = DataSources.from(map); assertEquals(MapDataSource.class, ds.getClass()); assertEquals(map, ds.getSource()); BeanDataSourceTest.Employee emp = new BeanDataSourceTest.Employee("test", 10.0, 20.0); ds = DataSources.from(emp); assertEquals(BeanDataSource.class, ds.getClass()); assertEquals(emp, ds.getSource()); } @Test public void fromObjectArray() { Map<String, Object> map = new HashMap<>(); map.put("firstName", "solid"); map.put("lastName", "snake"); BeanDataSourceTest.Employee emp = new BeanDataSourceTest.Employee("test", 10.0, 20.0); DataSource[] ds = DataSources.from(new Object[]{map, emp}); assertEquals(MapDataSource.class, ds[0].getClass()); assertEquals(map, ds[0].getSource()); assertEquals(BeanDataSource.class, ds[1].getClass()); assertEquals(emp, ds[1].getSource()); } @Test public void fromMapAndBean() { Map<String, Object> map = new HashMap<>(); map.put("firstName", "solid"); map.put("lastName", "snake"); BeanDataSourceTest.Employee emp = new BeanDataSourceTest.Employee("test", 10.0, 20.0); DataSource[] ds = DataSources.from(map, emp); assertEquals(MapDataSource.class, ds[0].getClass()); assertEquals(map, ds[0].getSource()); assertEquals(BeanDataSource.class, ds[1].getClass()); assertEquals(emp, ds[1].getSource()); } @Test public void fromNull() { Object object = null; DataSource dataSource = DataSources.from(object); assertEquals(EmptyDataSource.class, dataSource.getClass()); assertEquals("", dataSource.get("anything")); } }