X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FTest%2FTestConstraintPerpendicular.py;h=5a1f2646c024ddf223b2abb4bdd7a06f8b9b04f6;hb=28038c772769f15a06376fa01d55529e7daa1aa9;hp=f1d321362471c29050b8f5098e7e5d20ea726366;hpb=ee6034427d4adc3b83cad729e641537382576ab4;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/Test/TestConstraintPerpendicular.py b/src/SketchPlugin/Test/TestConstraintPerpendicular.py index f1d321362..5a1f2646c 100644 --- a/src/SketchPlugin/Test/TestConstraintPerpendicular.py +++ b/src/SketchPlugin/Test/TestConstraintPerpendicular.py @@ -1,7 +1,27 @@ +## Copyright (C) 2014-2017 CEA/DEN, EDF R&D +## +## This library 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 2.1 of the License, or (at your option) any later version. +## +## This library 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 this library; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +## +## See http:##www.salome-platform.org/ or +## email : webmaster.salome@opencascade.com +## + """ TestConstraintPerpendicular.py Unit test of SketchPlugin_ConstraintPerpendicular class - + SketchPlugin_Constraint static const std::string MY_CONSTRAINT_VALUE("ConstraintValue"); static const std::string MY_FLYOUT_VALUE_PNT("ConstraintFlyoutValuePnt"); @@ -9,15 +29,17 @@ static const std::string MY_ENTITY_B("ConstraintEntityB"); static const std::string MY_ENTITY_C("ConstraintEntityC"); static const std::string MY_ENTITY_D("ConstraintEntityD"); - + SketchPlugin_ConstraintPerpendicular static const std::string MY_CONSTRAINT_PERPENDICULAR_ID("SketchConstraintPerpendicular"); data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefAttr::typeId()); data()->addAttribute(SketchPlugin_Constraint::ENTITY_B(), ModelAPI_AttributeRefAttr::typeId()); - data()->addAttribute(SketchPlugin_Constraint::FLYOUT_VALUE_PNT(), GeomDataAPI_Point2D::typeId()); + data()->addAttribute(SketchPlugin_Constraint::FLYOUT_VALUE_PNT(), GeomDataAPI_Point2D::typeId()); """ from GeomDataAPI import * from ModelAPI import * +from salome.shaper import model + #========================================================================= # Initialization of the test #========================================================================= @@ -56,6 +78,7 @@ aLineBEndPoint = geomDataAPI_Point2D(aSketchLineB.attribute("EndPoint")) aLineBStartPoint.setValue(25., 40.) aLineBEndPoint.setValue(25., 125.) aSession.finishOperation() +assert (model.dof(aSketchFeature) == 8) #========================================================================= # Make a constraint to keep the length of the line constant # to prevent perpendicular constraint collapsing line to point @@ -79,6 +102,7 @@ assert (aLineBStartPoint.x() == 25) assert (aLineBStartPoint.y() == 40) assert (aLineBEndPoint.x() == 25) assert (aLineBEndPoint.y() == 125) +assert (model.dof(aSketchFeature) == 6) #========================================================================= # Link lines with perpendicular constraint #========================================================================= @@ -94,6 +118,7 @@ refattrA.setObject(aResultA) refattrB.setObject(aResultB) aPerpendicularConstraint.execute() aSession.finishOperation() +assert (model.dof(aSketchFeature) == 5) #========================================================================= # Check values and move one constrainted object #========================================================================= @@ -110,7 +135,7 @@ assert (aLineBStartPointPrev == (aLineBStartPoint.x(), aLineBStartPoint.y())) assert (aLineBEndPointPrev == (aLineBEndPoint.x(), aLineBEndPoint.y())) aLineBStartPointPrev = (aLineBStartPoint.x(),aLineBStartPoint.y()) aLineBEndPointPrev = (aLineBEndPoint.x(),aLineBEndPoint.y()) -# rotate line, +# rotate line, # check that reference's line points are moved also aSession.startOperation() aLineAStartPoint.setValue(aLineAStartPoint.x() + deltaX, aLineAStartPoint.y() + deltaY) @@ -118,9 +143,9 @@ aLineAEndPoint.setValue(aLineAEndPoint.x() - deltaX, aLineAEndPoint.y() - deltaY aSession.finishOperation() assert (aLineBStartPointPrev != (aLineBStartPoint.x(), aLineBStartPoint.y())) assert (aLineBEndPointPrev != (aLineBEndPoint.x(), aLineBEndPoint.y())) +assert (model.dof(aSketchFeature) == 5) #========================================================================= # End of test #========================================================================= -from salome.shaper import model assert(model.checkPythonDump())