|
@@ -7,7 +7,7 @@ import logging
|
|
|
from qgis.core import QgsCoordinateReferenceSystem, QgsGeometry, QgsPointXY
|
|
from qgis.core import QgsCoordinateReferenceSystem, QgsGeometry, QgsPointXY
|
|
|
import re
|
|
import re
|
|
|
|
|
|
|
|
-from core.checking import SUCCESS, FAILURE
|
|
|
|
|
|
|
+from core.checking import SUCCESS, FAILURE, ERROR
|
|
|
from path import Path
|
|
from path import Path
|
|
|
from test._base import SchemaTest
|
|
from test._base import SchemaTest
|
|
|
|
|
|
|
@@ -41,6 +41,10 @@ class Test(SchemaTest):
|
|
|
if not r.status == FAILURE:
|
|
if not r.status == FAILURE:
|
|
|
raise AssertionError("Le test n'aurait pas dû réussir")
|
|
raise AssertionError("Le test n'aurait pas dû réussir")
|
|
|
|
|
|
|
|
|
|
+ def assertError(self, r):
|
|
|
|
|
+ if not r.status == ERROR:
|
|
|
|
|
+ raise AssertionError("Le test n'a pas levé d'erreur")
|
|
|
|
|
+
|
|
|
def assertErrorLogged(self, result, err_msg):
|
|
def assertErrorLogged(self, result, err_msg):
|
|
|
if not any((re.fullmatch(err_msg, err.message) for err in result.errors)):
|
|
if not any((re.fullmatch(err_msg, err.message) for err in result.errors)):
|
|
|
print(result.errors)
|
|
print(result.errors)
|
|
@@ -444,7 +448,24 @@ class Test(SchemaTest):
|
|
|
self.assertEqual(r.title, 'Topologie: Zapbos / Prises')
|
|
self.assertEqual(r.title, 'Topologie: Zapbos / Prises')
|
|
|
self.assertSuccess(r)
|
|
self.assertSuccess(r)
|
|
|
self.assertEqual(len(r.errors), 0)
|
|
self.assertEqual(len(r.errors), 0)
|
|
|
|
|
+
|
|
|
|
|
+ # pas de prise dans la zapbo
|
|
|
|
|
+ new_geom = self.checker.zapbos[0]._feature.geometry()
|
|
|
|
|
+ new_geom.translate(1000,1000)
|
|
|
|
|
+ self.checker.zapbos[0]._feature.setGeometry(new_geom)
|
|
|
|
|
+
|
|
|
|
|
+ r = self.run_test("test_zapbos_prises", True)
|
|
|
|
|
+ self.assertFailure(r)
|
|
|
|
|
+ self.assertErrorLogged(r, "La Zapbo ne contient aucune prise")
|
|
|
|
|
+
|
|
|
|
|
+ # couche non chargée
|
|
|
|
|
+ self.schema.Prise.layer = None
|
|
|
|
|
+
|
|
|
|
|
+ r = self.run_test("test_zapbos_prises", True)
|
|
|
|
|
|
|
|
|
|
+ self.assertError(r)
|
|
|
|
|
+ self.assertErrorLogged(r, "La couche des prises n'est pas chargée")
|
|
|
|
|
+
|
|
|
def test_pbo_dimension(self):
|
|
def test_pbo_dimension(self):
|
|
|
|
|
|
|
|
# cas initial: valide
|
|
# cas initial: valide
|
|
@@ -453,4 +474,12 @@ class Test(SchemaTest):
|
|
|
self.assertEqual(r.title, 'Dimensionnement des PBO')
|
|
self.assertEqual(r.title, 'Dimensionnement des PBO')
|
|
|
self.assertSuccess(r)
|
|
self.assertSuccess(r)
|
|
|
self.assertEqual(len(r.errors), 0)
|
|
self.assertEqual(len(r.errors), 0)
|
|
|
|
|
+
|
|
|
|
|
+ # couche non chargée
|
|
|
|
|
+ self.schema.Prise.layer = None
|
|
|
|
|
+
|
|
|
|
|
+ r = self.run_test("test_pbo_dimension", True)
|
|
|
|
|
+
|
|
|
|
|
+ self.assertError(r)
|
|
|
|
|
+ self.assertErrorLogged(r, "La couche des prises n'est pas chargée")
|
|
|
|
|
|