Salome HOME
Adjust unit tests to new behavior of SketchBuilder
[modules/shaper.git] / src / ModelAPI / Test / TestUndoRedo.py
index 74a1315cd9bc5b72ca61fbcf31ac5bf8467de6e2..d4748a02d82c7fc82e8612dab5d89cb29f400edd 100644 (file)
@@ -1,26 +1,37 @@
-from ModelAPI import *\r
-plugin_manager = ModelAPI_PluginManager.get()\r
-doc = plugin_manager.rootDocument()\r
-assert(not doc.canUndo())\r
-assert(not doc.canRedo()) \r
-\r
-doc.startOperation()\r
-feature = doc.addFeature("Point")\r
-feature_name = feature.data().name()\r
-assert(feature_name == "Point_1")\r
-\r
-feature.execute()\r
-doc.finishOperation();\r
-assert(doc.size("Construction") == 1)\r
-assert(doc.canUndo())\r
-assert(not doc.canRedo()) \r
-\r
-doc.undo()\r
-assert(doc.size("Construction") == 0)\r
-assert(not doc.canUndo())\r
-assert(doc.canRedo())\r
-\r
-doc.redo()\r
-assert(doc.size("Construction") == 1)\r
-assert(doc.canUndo())\r
-assert(not doc.canRedo())\r
+from ModelAPI import *
+aSession = ModelAPI_Session.get()
+aDoc = aSession.moduleDocument()
+assert(not aSession.canUndo())
+assert(not aSession.canRedo())
+
+aSession.startOperation()
+aFeature = aDoc.addFeature("Point")
+# Since validators are introduced we have to initialize all
+# the feature's attributes
+# aFeature.string("creation_method").setValue("by_xyz")
+aFeature.real("x").setValue(1.)
+aFeature.real("y").setValue(-1.)
+aFeature.real("z").setValue(0.)
+aFeatureName = aFeature.name()
+# "2" is because Origin is the first point
+assert(aFeatureName == "Point_2")
+
+aFeature.execute()
+aSession.finishOperation()
+
+assert(aDoc.size("Construction") == 8)
+assert(aSession.canUndo())
+assert(not aSession.canRedo())
+
+aSession.undo()
+assert(aDoc.size("Construction") == 7)
+assert(not aSession.canUndo())
+assert(aSession.canRedo())
+
+aSession.redo()
+assert(aDoc.size("Construction") == 8)
+assert(aSession.canUndo())
+assert(not aSession.canRedo())
+
+from salome.shaper import model
+assert(model.checkPythonDump())