2 Test movement of the sketch circle
6 from GeomDataAPI import geomDataAPI_Point2D
7 from salome.shaper import model
9 __updated__ = "2017-05-11"
11 class TestMoveCircle(unittest.TestCase):
14 self.myDocument = model.moduleDocument()
15 self.mySketch = model.addSketch(self.myDocument, model.defaultPlane("XOY"))
16 self.myCenter = [70., 50.]
18 self.myCircle = self.mySketch.addCircle(self.myCenter[0], self.myCenter[1], self.myRadius)
26 assert(model.checkPythonDump())
29 self.assertEqual(model.dof(self.mySketch), self.myDOF)
31 def checkPointCoordinates(self, thePoint, theCoordinates):
32 self.assertAlmostEqual(thePoint.x(), theCoordinates[0])
33 self.assertAlmostEqual(thePoint.y(), theCoordinates[1])
35 def checkPointOnCircle(self, theCoordinates):
36 self.assertAlmostEqual(model.distancePointPoint(self.myCircle.center(), theCoordinates), self.myCircle.radius().value())
38 def fixCircleRadius(self):
39 self.mySketch.setRadius(self.myCircle.results()[1], self.myRadius)
44 def fixCircleCenter(self):
45 self.mySketch.setFixed(self.myCircle.center())
51 def test_move_center_free_circle(self):
52 """ Test 1. Movement of central point of a free circle
54 newPosition = [self.myCenter[0] + 20., self.myCenter[1] + 10.]
55 self.mySketch.move(self.myCircle.center(), newPosition[0], newPosition[1])
57 self.checkPointCoordinates(self.myCircle.center(), newPosition)
58 self.assertAlmostEqual(self.myCircle.radius().value(), self.myRadius)
60 def test_move_free_circle(self):
61 """ Test 2. Movement of a free circle dragging the edge
63 newPosition = [120., 90.]
64 self.mySketch.move(self.myCircle.defaultResult(), newPosition[0], newPosition[1])
66 self.checkPointCoordinates(self.myCircle.center(), self.myCenter)
67 self.checkPointOnCircle(newPosition)
68 self.assertNotEqual(self.myCircle.radius().value(), self.myRadius)
70 def test_move_center_circle_fixed_radius(self):
71 """ Test 3. Movement of central point of a circle with fixed radius
73 self.fixCircleRadius()
75 newPosition = [self.myCenter[0] + 20., self.myCenter[1] + 10.]
76 self.mySketch.move(self.myCircle.center(), newPosition[0], newPosition[1])
78 self.checkPointCoordinates(self.myCircle.center(), newPosition)
79 self.assertAlmostEqual(self.myCircle.radius().value(), self.myRadius)
81 def test_move_circle_fixed_radius(self):
82 """ Test 4. Movement of a circle with fixed radius
84 self.fixCircleRadius()
86 newPosition = [120., 90.]
87 self.mySketch.move(self.myCircle.defaultResult(), newPosition[0], newPosition[1])
89 self.assertAlmostEqual(self.myCircle.radius().value(), self.myRadius)
90 self.assertNotEqual(self.myCircle.center().x(), self.myCenter[0])
91 self.assertNotEqual(self.myCircle.center().y(), self.myCenter[1])
93 def test_move_center_circle_fixed_center(self):
94 """ Test 5. Movement of central point of a circle with fixed center (nothing should be changed)
96 self.fixCircleCenter()
98 newPosition = [self.myCenter[0] + 20., self.myCenter[1] + 10.]
99 self.mySketch.move(self.myCircle.center(), newPosition[0], newPosition[1])
101 self.checkPointCoordinates(self.myCircle.center(), self.myCenter)
102 self.assertAlmostEqual(self.myCircle.radius().value(), self.myRadius)
104 def test_move_circle_fixed_center(self):
105 """ Test 6. Movement of a circle with fixed center
107 self.fixCircleCenter()
109 newPosition = [120., 90.]
110 self.mySketch.move(self.myCircle.defaultResult(), newPosition[0], newPosition[1])
112 self.checkPointOnCircle(newPosition)
113 self.assertNotEqual(self.myCircle.radius().value(), self.myRadius)
115 def test_move_fixed_circle(self):
116 """ Test 7. Trying to move fully fixed circle
118 self.fixCircleCenter()
119 self.fixCircleRadius()
121 newPosition = [120., 90.]
122 self.mySketch.move(self.myCircle.defaultResult(), newPosition[0], newPosition[1])
124 self.checkPointCoordinates(self.myCircle.center(), self.myCenter)
125 self.assertAlmostEqual(self.myCircle.radius().value(), self.myRadius)
128 if __name__ == '__main__':