Test: test moving features from one part to another
This commit is contained in:
parent
85015ef494
commit
dcd94203eb
|
@ -1,4 +1,4 @@
|
|||
# (c) Juergen Riegel (FreeCAD@juergen-riegel.net) 2011 LGPL *
|
||||
# (c) Juergen Riegel (FreeCAD@juergen-riegel.net) 2011 LGPL *
|
||||
# *
|
||||
# This file is part of the FreeCAD CAx development system. *
|
||||
# *
|
||||
|
@ -19,25 +19,107 @@
|
|||
# USA *
|
||||
#**************************************************************************
|
||||
|
||||
import FreeCAD, FreeCADGui, os, sys, unittest, PartDesign, PartDesignGui
|
||||
import FreeCAD
|
||||
import FreeCADGui
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
import Sketcher
|
||||
import Part
|
||||
import PartDesign
|
||||
import PartDesignGui
|
||||
|
||||
from PySide import QtGui, QtCore
|
||||
from PySide.QtGui import QApplication
|
||||
|
||||
#timer runs this class in order to access modal dialog
|
||||
class Callable:
|
||||
def __init__(self, test):
|
||||
self.test = test
|
||||
def __call__(self):
|
||||
diag = QApplication.activeModalWidget()
|
||||
self.test.assertIsNotNone(diag, "Input dialog box could not be found")
|
||||
if (diag != None):
|
||||
cbox = diag.findChild(QtGui.QComboBox)
|
||||
self.test.assertIsNotNone(cbox, "ComboBox widget could not be found")
|
||||
if (cbox != None):
|
||||
cbox.setCurrentIndex(1)
|
||||
QtCore.QTimer.singleShot(0, diag, QtCore.SLOT('accept()'))
|
||||
|
||||
App = FreeCAD
|
||||
Gui = FreeCADGui
|
||||
#---------------------------------------------------------------------------
|
||||
# define the test cases to test the FreeCAD PartDesign module
|
||||
#---------------------------------------------------------------------------
|
||||
class PartDesignGuiTestCases(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.Doc = FreeCAD.newDocument("SketchGuiTest")
|
||||
|
||||
def testMoveSingleFeature(self):
|
||||
FreeCAD.Console.PrintMessage('Testing moving one feature from one body to another\n')
|
||||
self.BodySource = self.Doc.addObject('PartDesign::Body','Body')
|
||||
Gui.activeView().setActiveObject('pdbody', self.BodySource)
|
||||
|
||||
self.Sketch = self.Doc.addObject('Sketcher::SketchObject','Sketch')
|
||||
self.Sketch.Support = (self.Doc.XY_Plane, [''])
|
||||
self.Sketch.MapMode = 'FlatFace'
|
||||
self.BodySource.addFeature(self.Sketch)
|
||||
|
||||
geoList = []
|
||||
geoList.append(Part.Line(App.Vector(-10.000000,10.000000,0),App.Vector(10.000000,10.000000,0)))
|
||||
geoList.append(Part.Line(App.Vector(10.000000,10.000000,0),App.Vector(10.000000,-10.000000,0)))
|
||||
geoList.append(Part.Line(App.Vector(10.000000,-10.000000,0),App.Vector(-10.000000,-10.000000,0)))
|
||||
geoList.append(Part.Line(App.Vector(-10.000000,-10.000000,0),App.Vector(-10.000000,10.000000,0)))
|
||||
self.Sketch.addGeometry(geoList,False)
|
||||
conList = []
|
||||
conList.append(Sketcher.Constraint('Coincident',0,2,1,1))
|
||||
conList.append(Sketcher.Constraint('Coincident',1,2,2,1))
|
||||
conList.append(Sketcher.Constraint('Coincident',2,2,3,1))
|
||||
conList.append(Sketcher.Constraint('Coincident',3,2,0,1))
|
||||
conList.append(Sketcher.Constraint('Horizontal',0))
|
||||
conList.append(Sketcher.Constraint('Horizontal',2))
|
||||
conList.append(Sketcher.Constraint('Vertical',1))
|
||||
conList.append(Sketcher.Constraint('Vertical',3))
|
||||
self.Sketch.addConstraint(conList)
|
||||
|
||||
self.Pad = self.Doc.addObject("PartDesign::Pad","Pad")
|
||||
self.Pad.Profile = self.Sketch
|
||||
self.Pad.Length = 10.000000
|
||||
self.Pad.Length2 = 100.000000
|
||||
self.Pad.Type = 0
|
||||
self.Pad.UpToFace = None
|
||||
self.Pad.Reversed = 0
|
||||
self.Pad.Midplane = 0
|
||||
self.Pad.Offset = 0.000000
|
||||
|
||||
self.BodySource.addFeature(self.Pad)
|
||||
|
||||
self.Doc.recompute()
|
||||
Gui.SendMsgToActiveView("ViewFit")
|
||||
|
||||
self.BodyTarget = self.Doc.addObject('PartDesign::Body','Body')
|
||||
|
||||
Gui.Selection.addSelection(App.ActiveDocument.Pad)
|
||||
cobj = Callable(self)
|
||||
QtCore.QTimer.singleShot(500, cobj)
|
||||
Gui.runCommand('PartDesign_MoveFeature')
|
||||
self.assertEqual(len(self.BodySource.Model), 0, "Source body feature count is wrong")
|
||||
self.assertEqual(len(self.BodyTarget.Model), 2, "Target body feature count is wrong")
|
||||
|
||||
def tearDown(self):
|
||||
FreeCAD.closeDocument("SketchGuiTest")
|
||||
|
||||
#class PartDesignGuiTestCases(unittest.TestCase):
|
||||
# def setUp(self):
|
||||
# self.Doc = FreeCAD.newDocument("SketchGuiTest")
|
||||
# def setUp(self):
|
||||
# self.Doc = FreeCAD.newDocument("SketchGuiTest")
|
||||
#
|
||||
# def testBoxCase(self):
|
||||
# self.Box = self.Doc.addObject('PartDesign::SketchObject','SketchBox')
|
||||
# self.Box.addGeometry(Part.Line(App.Vector(-99.230339,36.960674,0),App.Vector(69.432587,36.960674,0)))
|
||||
# self.Box.addGeometry(Part.Line(App.Vector(69.432587,36.960674,0),App.Vector(69.432587,-53.196629,0)))
|
||||
# self.Box.addGeometry(Part.Line(App.Vector(69.432587,-53.196629,0),App.Vector(-99.230339,-53.196629,0)))
|
||||
# self.Box.addGeometry(Part.Line(App.Vector(-99.230339,-53.196629,0),App.Vector(-99.230339,36.960674,0)))
|
||||
#
|
||||
# def tearDown(self):
|
||||
# #closing doc
|
||||
# FreeCAD.closeDocument("SketchGuiTest")
|
||||
# def testBoxCase(self):
|
||||
# self.Box = self.Doc.addObject('PartDesign::SketchObject','SketchBox')
|
||||
# self.Box.addGeometry(Part.Line(App.Vector(-99.230339,36.960674,0),App.Vector(69.432587,36.960674,0)))
|
||||
# self.Box.addGeometry(Part.Line(App.Vector(69.432587,36.960674,0),App.Vector(69.432587,-53.196629,0)))
|
||||
# self.Box.addGeometry(Part.Line(App.Vector(69.432587,-53.196629,0),App.Vector(-99.230339,-53.196629,0)))
|
||||
# self.Box.addGeometry(Part.Line(App.Vector(-99.230339,-53.196629,0),App.Vector(-99.230339,36.960674,0)))
|
||||
#
|
||||
# def tearDown(self):
|
||||
# #closing doc
|
||||
# FreeCAD.closeDocument("SketchGuiTest")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# FreeCAD Part module
|
||||
# FreeCAD Part module
|
||||
# (c) 2001 Juergen Riegel
|
||||
#
|
||||
# Part design module
|
||||
|
@ -51,6 +51,7 @@ class TestCmd:
|
|||
QtUnitGui.addTest("TestSketcherApp")
|
||||
QtUnitGui.addTest("TestPartApp")
|
||||
QtUnitGui.addTest("TestPartDesignApp")
|
||||
QtUnitGui.addTest("TestPartDesignGui")
|
||||
QtUnitGui.addTest("TestSpreadsheet")
|
||||
QtUnitGui.addTest("TestDraft")
|
||||
QtUnitGui.addTest("TestArch")
|
||||
|
|
Loading…
Reference in New Issue
Block a user