Newer
Older
Map-Refactor / src / test / java / TestManualUpdate.java
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;

public class TestManualUpdate {

    @Test
    public void test() {
        // 北緯35.0度, 東経135.0度, 自動更新モードに設定する
        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);

        // 北緯35.1度, 東経135.1度に移動する
        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);

        // 手動更新を行う
        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);

        // 手動更新モードに設定する
        map.setAutoUpdate(false);

        // 北緯35.0度, 東経135.0度に戻る
        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);		// 手動更新のため値は変化しない
        assertEquals(mapLongi, 135.1, 0.0001);		// 手動更新のため値は変化しない

        // 手動更新モードにする
        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);		// 手動更新によって値が更新される
        assertEquals(mapLongi, 135.0, 0.0001);		// 手動更新によって値が更新される
    }
}