Add a test for MapWithAIDefaultLayerTableModel

Signed-off-by: Taylor Smock <taylor.smock@kaart.com>
pull/1/head
Taylor Smock 2020-06-30 14:06:55 -06:00
rodzic 6ec23bb0a9
commit c042ce8df4
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 625F6A74A3E4311A
2 zmienionych plików z 52 dodań i 7 usunięć

Wyświetl plik

@ -58,13 +58,6 @@ class MapWithAIDefaultLayerTableModel extends DefaultTableModel {
return MapWithAILayerInfo.getInstance().getAllDefaultLayers().get(row);
}
@Override
public void removeRow(int row) {
columnTypes.remove(row);
columnDataRetrieval.remove(row);
super.removeRow(row);
}
@Override
public int getRowCount() {
return MapWithAILayerInfo.getInstance().getAllDefaultLayers().size();

Wyświetl plik

@ -0,0 +1,52 @@
// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.mapwithai.gui.preferences.mapwithai;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertSame;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.IntStream;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.openstreetmap.josm.plugins.mapwithai.data.mapwithai.MapWithAIInfo;
import org.openstreetmap.josm.plugins.mapwithai.data.mapwithai.MapWithAILayerInfo;
import org.openstreetmap.josm.plugins.mapwithai.testutils.MapWithAITestRules;
import org.openstreetmap.josm.testutils.JOSMTestRules;
public class MapWithAIDefaultLayerTableModelTest {
@RegisterExtension
JOSMTestRules rule = new MapWithAITestRules().wiremock().sources();
@Test
public void testGetRow() {
List<MapWithAIInfo> infos = MapWithAILayerInfo.getInstance().getAllDefaultLayers();
assertFalse(infos.isEmpty());
for (int i = 0; i < infos.size(); i++) {
assertSame(infos.get(i), MapWithAIDefaultLayerTableModel.getRow(i));
}
}
@Test
public void testRetrieval() {
List<MapWithAIInfo> infos = new ArrayList<>(MapWithAILayerInfo.getInstance().getAllDefaultLayers());
assertFalse(infos.isEmpty());
Collections.shuffle(infos);
MapWithAIInfo info = infos.get(0);
MapWithAIDefaultLayerTableModel model = new MapWithAIDefaultLayerTableModel();
int row = IntStream.range(0, model.getRowCount())
.filter(i -> info.equals(MapWithAIDefaultLayerTableModel.getRow(i))).findAny().orElse(-1);
assertNotEquals(-1, row);
IntStream.rangeClosed(0, model.getColumnCount()).forEach(column -> {
assertDoesNotThrow(() -> model.getValueAt(row, column), info.getName());
assertFalse(model.isCellEditable(row, column), info.getName());
assertDoesNotThrow(() -> model.getColumnClass(column));
});
}
}