diff --git a/src/Map.java b/src/Map.java index 82489d5..778772c 100644 --- a/src/Map.java +++ b/src/Map.java @@ -1,5 +1,3 @@ -import java.util.*; - public class Map { private MapLatitude mapLatitude; private Latitude latitude; @@ -28,4 +26,13 @@ public void updateGPS(double lat2, double long2) { this.presenter.updateGPS(lat2, long2); } + // setAutoUpdate ���\�b�h�̒lj� + public void setAutoUpdate(boolean isAutoUpdate) { + this.presenter.setAutoUpdate(isAutoUpdate); + } + + // updateManually ���\�b�h�̒lj� + public void updateManually() { + this.presenter.updateManually(); + } } \ No newline at end of file diff --git a/src/Presenter.java b/src/Presenter.java index 9ecf8a6..4e0a1db 100644 --- a/src/Presenter.java +++ b/src/Presenter.java @@ -1,20 +1,48 @@ -import java.util.*; - public class Presenter { private Longitude longitude; private Latitude latitude; private MapLongitude mapLongitude; private MapLatitude mapLatitude; - public Presenter(Longitude longitude, Latitude latitude, MapLongitude mapLongitude, MapLatitude mapLatitude) { - this.longitude = longitude; - this.latitude = latitude; - this.mapLongitude = mapLongitude; - this.mapLatitude = mapLatitude; - } - public void updateGPS(double lat2, double long2) { - double longitude = this.longitude.updateGPS(lat2, long2); - double latitude = this.latitude.updateGPS(lat2, long2); - this.mapLongitude.updateLongitude(longitude); - this.mapLatitude.updateLatitude(latitude); - } + private boolean isAutoUpdate; // isAutoUpdate �t�B�[���h�̒lj� +// public Presenter(Longitude longitude, Latitude latitude, MapLongitude mapLongitude, MapLatitude mapLatitude) { +// this.longitude = longitude; +// this.latitude = latitude; +// this.mapLongitude = mapLongitude; +// this.mapLatitude = mapLatitude; +// } +// public void updateGPS(double lat2, double long2) { +// double longitude = this.longitude.updateGPS(lat2, long2); +// double latitude = this.latitude.updateGPS(lat2, long2); +// this.mapLongitude.updateLongitude(longitude); +// this.mapLatitude.updateLatitude(latitude); +// } + // �R���X�g���N�^ + public Presenter(Longitude longitude, Latitude latitude, MapLongitude mapLongitude, MapLatitude mapLatitude) { + this.longitude = longitude; + this.latitude = latitude; + this.mapLongitude = mapLongitude; + this.mapLatitude = mapLatitude; + this.isAutoUpdate = true; // �����l�� true �ɐݒ� + } + + // updateGPS ���\�b�h�̕ύX + public void updateGPS(double lat2, double long2) { + double longitude = this.longitude.updateGPS(lat2, long2); + double latitude = this.latitude.updateGPS(lat2, long2); + if (isAutoUpdate) { + this.mapLongitude.updateLongitude(longitude); + this.mapLatitude.updateLatitude(latitude); + } + } + + // setAutoUpdate ���\�b�h�̒lj� + public void setAutoUpdate(boolean isAutoUpdate) { + this.isAutoUpdate = isAutoUpdate; + } + + // updateManually ���\�b�h�̒lj� + public void updateManually() { + this.mapLongitude.updateLongitude(this.longitude.getValue()); + this.mapLatitude.updateLatitude(this.latitude.getValue()); + } } \ No newline at end of file diff --git a/src/TestManualUpdate.java b/src/TestManualUpdate.java new file mode 100644 index 0000000..dfb4613 --- /dev/null +++ b/src/TestManualUpdate.java @@ -0,0 +1,69 @@ +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestManualUpdate { + + @Test + public void test() { + // �k��35.0�x�C���o135.0�x�C�����X�V���[�h�ɐݒ肷�� + Map map = new Map(); + map.updateGPS(35.0, 135.0); + map.setAutoUpdate(true); + double lati = map.getLatitude(); + double longi = map.getLongitude(); + double mapLati = map.getMapLatitude(); + double mapLongi = map.getMapLongitude(); + assertEquals(lati, 35.0, 0.0001); + assertEquals(longi, 135.0, 0.0001); + assertEquals(mapLati, 35.0, 0.0001); + assertEquals(mapLongi, 135.0, 0.0001); + + // �k��35.1�x�C���o135.1�x�Ɉړ����� + map.updateGPS(35.1, 135.1); + lati = map.getLatitude(); + longi = map.getLongitude(); + mapLati = map.getMapLatitude(); + mapLongi = map.getMapLongitude(); + assertEquals(lati, 35.1, 0.0001); + assertEquals(longi, 135.1, 0.0001); + assertEquals(mapLati, 35.1, 0.0001); + assertEquals(mapLongi, 135.1, 0.0001); + + // �蓮�X�V���s�� + map.updateManually(); + lati = map.getLatitude(); + longi = map.getLongitude(); + mapLati = map.getMapLatitude(); + mapLongi = map.getMapLongitude(); + assertEquals(lati, 35.1, 0.0001); + assertEquals(longi, 135.1, 0.0001); + assertEquals(mapLati, 35.1, 0.0001); + assertEquals(mapLongi, 135.1, 0.0001); + + // �蓮�X�V���[�h�ɐݒ肷�� + map.setAutoUpdate(false); + + // �k��35.0�x�C���o135.0�x�ɖ߂� + map.updateGPS(35.0, 135.0); + lati = map.getLatitude(); + longi = map.getLongitude(); + mapLati = map.getMapLatitude(); + mapLongi = map.getMapLongitude(); + assertEquals(lati, 35.0, 0.0001); + assertEquals(longi, 135.0, 0.0001); + assertEquals(mapLati, 35.1, 0.0001); // �蓮�X�V�̂��ߒl�͕ω����Ȃ� + assertEquals(mapLongi, 135.1, 0.0001); // �蓮�X�V�̂��ߒl�͕ω����Ȃ� + + // �蓮�X�V���s�� + map.updateManually(); + lati = map.getLatitude(); + longi = map.getLongitude(); + mapLati = map.getMapLatitude(); + mapLongi = map.getMapLongitude(); + assertEquals(lati, 35.0, 0.0001); + assertEquals(longi, 135.0, 0.0001); + assertEquals(mapLati, 35.0, 0.0001); // �蓮�X�V�ɂ���Ēl���X�V����� + assertEquals(mapLongi, 135.0, 0.0001); // �蓮�X�V�ɂ���Ēl���X�V����� + } +} \ No newline at end of file