]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Add test for the new mode of a sphere
authorClarisse Genrault <cgenrault@is231796.intra.cea.fr>
Mon, 20 Apr 2020 12:16:51 +0000 (14:16 +0200)
committerClarisse Genrault <cgenrault@is231796.intra.cea.fr>
Mon, 20 Apr 2020 12:16:51 +0000 (14:16 +0200)
src/GeomAlgoAPI/GeomAlgoAPI_Sphere.cpp
test.API/SHAPER/Primitives/TestAPI_Sphere.py
test.API/SHAPER/Primitives/TestSphere.py

index 6f4f673e46c2f72529b1323332697b75baab7eaf..6c75f7f70ddcab7029117545161319fd18ce765c 100644 (file)
@@ -59,7 +59,10 @@ GeomAlgoAPI_Sphere::GeomAlgoAPI_Sphere(const double theRMin, const double theRMa
 bool GeomAlgoAPI_Sphere::check()
 {
   if (isRootGeo) {
-    // traitement a faire plus tard
+    if ((myRMin-myRMax) > Precision::Confusion()) {
+      myError = "Sphere builder :: RMin is larger than RMax.";
+      return false;
+    }
   } else {
     if (!myCenterPoint) {
       myError = "Sphere builder :: center is not valid.";
index 1717a726734cbb4a6191de06bb6d94a2bcd9b286..6d5c9c802dec62804bd0be01afdb4e55cd5a123d 100644 (file)
@@ -41,3 +41,9 @@ try:
   Sphere_5 = shaperpy.makeSphere(None, 10.)
 except myExcept as ec:
   assert(ec.what() == "Sphere builder :: center is not valid.")
+
+Sphere_6 = shaperpy.makeSphere(10., 40.,0,180.,0.,180.)
+try:
+  Sphere_7 = shaperpy.makeSphere(40., 10.,0,180.,0.,180.)
+except myExcept as ec:
+  assert(ec.what() == "Sphere builder :: RMin is larger than RMax.")
\ No newline at end of file
index d7e599aa5ce041bf1c55854fbf449013b904fb19..70690a334b8d3423975070cbafb2f23f54ef1cae 100644 (file)
@@ -41,6 +41,9 @@ Sphere_6 = model.addSphere(Part_1_doc, model.selection("VERTEX", "PartSet/Origin
 Sphere_7 = model.addSphere(Part_1_doc, 10)
 Sphere_7.setCenterPoint(Point_1)
 
+Sphere_8 = model.addSphere(Part_1_doc,10,40,0,180,0,180)
+Sphere_9 = model.addSphere(Part_1_doc,40,10,0,180,0,180)
+
 model.do()
 model.end()
 
@@ -71,6 +74,12 @@ model.testNbSubShapes(Sphere_7, GeomAPI_Shape.SOLID, [1])
 model.testNbSubShapes(Sphere_7, GeomAPI_Shape.FACE, [1])
 model.testHaveNamingFaces(Sphere_7, model, Part_1_doc)
 
+model.testNbResults(Sphere_8, 1)
+model.testNbSubResults(Sphere_8, [0])
+model.testNbSubShapes(Sphere_8, GeomAPI_Shape.SOLID, [1])
+model.testNbSubShapes(Sphere_8, GeomAPI_Shape.FACE, [4])
+model.testHaveNamingFaces(Sphere_8, model, Part_1_doc)
+
 model.testNbResults(Sphere_2, 0)
 assert(Sphere_2.feature().error() == "Sphere builder :: radius is negative or null.")
 
@@ -79,3 +88,6 @@ assert(Sphere_3.feature().error() == "Sphere builder :: radius is negative or nu
 
 model.testNbResults(Sphere_5, 0)
 assert(Sphere_5.feature().error() == "Attribute \"center_point\" is not initialized.")
+
+model.testNbResults(Sphere_9, 0)
+assert(Sphere_9.feature().error() == "Sphere builder :: RMin is larger than RMax.")