/*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * CityDoctor2 is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with CityDoctor2. If not, see . */ package de.hft.stuttgart.citydoctor2.check.error; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Test; import de.hft.stuttgart.citydoctor2.check.QualityAdeErrorVisitor; import de.hft.stuttgart.citydoctor2.datastructure.ConcretePolygon; import de.hft.stuttgart.citydoctor2.datastructure.GmlId; import de.hft.stuttgart.citydoctor2.datastructure.Polygon; import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty; import de.hft.stuttgart.quality.model.types.AbstractError; import de.hft.stuttgart.quality.model.types.PlanarNormalsDeviationError; import de.hft.stuttgart.quality.model.types.ValidationResult; public class NonPlanarPolygonNormalsDeviationTest { @Test public void testConvertToQualityAdeDatastructure() { Polygon p1 = new ConcretePolygon(); GmlId p1Id = new GmlId("p1Id"); p1.setGmlId(p1Id); NonPlanarPolygonNormalsDeviation err = new NonPlanarPolygonNormalsDeviation(p1, 5); ValidationResult result = new ValidationResult(); QualityAdeErrorVisitor visitor = new QualityAdeErrorVisitor(result); err.accept(visitor); List errors = result.getErrors(); assertEquals(1, errors.size()); AbstractError ae = errors.get(0).getObject(); assertTrue(ae instanceof PlanarNormalsDeviationError); PlanarNormalsDeviationError error = (PlanarNormalsDeviationError) ae; assertEquals(5, error.getDeviation().getValue(), 0.00001); assertEquals(p1Id.getGmlString(), error.getPolygonId()); } }