package pl.edu.agh.dao; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; import pl.edu.agh.model.Way; import pl.edu.agh.model.WayWithSpeedInfo; import pl.edu.agh.spatial.WGS84GeometryFactory; import com.vividsolutions.jts.geom.Envelope; import com.vividsolutions.jts.geom.Point; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/conf/utils.xml", "file:src/main/webapp/WEB-INF/conf/db.xml", "file:src/main/webapp/WEB-INF/conf/dao.xml" }) @TransactionConfiguration(transactionManager = "transactionManager") @Transactional public class WayDaoTest { @Autowired private WayDao wayDao; @Autowired private WGS84GeometryFactory geometryFactory; @Test public void canReadNearestWay() { Way way = wayDao.findNearestWay(geometryFactory.createPoint(20.235386, 49.594534)); assertNotNull(way); } @Test public void canCalculateRoute() { List<Way> route = wayDao.findRoute(119, 133, true); assertFalse(route.isEmpty()); } @Test public void canReadTrafficInfo() { List<WayWithSpeedInfo> trafficInfo = wayDao.getTrafficData(geometryFactory.createPoint(0, 0), 0.1); assertTrue(trafficInfo.isEmpty()); } @Test public void canGetWaysInsideBox() { Point point = geometryFactory.createPoint(20.235386, 49.594534); Envelope envelope = point.getEnvelopeInternal(); envelope.expandBy(0.002); List<Way> ways = wayDao.getWaysInsideBox(geometryFactory.toGeometry(envelope)); assertFalse(ways.isEmpty()); } }