package mapper;
import api.v1.CoordinateFormat;
import api.v1.Position;
import models.PositionModel;
import org.junit.Test;
import service.PositionService;
import util.InMemoryDbTest;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
public class PositionMapperTest extends InMemoryDbTest {
@Test
public void testMappingPositionFromModelToApi() {
PositionModel positionModel = new PositionService(fakeUser).getById(1);
assertNotNull(positionModel);
Position position = new PositionMapper().mapToApi(positionModel);
assertNotNull(position);
assertEquals("name", position.name, positionModel.name);
assertEquals("latitude", positionModel.latitude, position.dec.getLatitude(),0.0001);
assertEquals("longitude", positionModel.longitude, position.dec.getLongitude(),0.0001);
}
@Test
public void testMappingPositionFromApiToModel() {
PositionModel positionModel = new PositionService(fakeUser).getById(1);
assertNotNull(positionModel);
PositionMapper positionMapper = new PositionMapper();
Position position = positionMapper.mapToApi(positionModel);
assertNotNull(position);
positionModel = positionMapper.mapToModel(position);
assertEquals("name", position.name, positionModel.name);
assertEquals("latitude", positionModel.latitude, position.dec.getLatitude(), 0.0001);
assertEquals("longitude", positionModel.longitude, position.dec.getLongitude(), 0.0001);
}
@Test
public void testMappingPositionFromApiGMSToModel() {
PositionModel positionModel = new PositionService(fakeUser).getById(1);
assertNotNull(positionModel);
PositionMapper positionMapper = new PositionMapper();
Position position = positionMapper.mapToApi(positionModel);
position.coordinateFormat = CoordinateFormat.DECIMAL_DEGREES;
assertNotNull(position);
positionModel = positionMapper.mapToModel(position);
assertEquals("name", position.name, positionModel.name);
assertEquals("latitude", positionModel.latitude, position.dec.getLatitude(), 0.0001);
assertEquals("longitude", positionModel.longitude, position.dec.getLongitude(), 0.0001);
}
}