Salome HOME
Update SketchPlugin_Projection feature (issue #1459)
[modules/shaper.git] / src / PythonAPI / Test / TestSketcherAddArc.py
1 import unittest
2
3 import model
4 import geom
5 from model import WrongNumberOfArguments
6
7 from TestSketcher import SketcherTestCase
8
9 class SketcherAddArc(SketcherTestCase):
10     def test_arc_by_coords(self):
11         arc = self.sketch.addArc(0, 1, 0, 0, 1, 1)
12         model.do()
13         self.assertEqual(arc.startPoint().x(), 0)
14         self.assertEqual(arc.startPoint().y(), 0)
15
16     def test_arc_by_points(self):
17         center = geom.Pnt2d(0, 1)
18         start = geom.Pnt2d(0, 0)
19         end = geom.Pnt2d(1, 1)
20         arc = self.sketch.addArc(center, start, end)
21         model.do()
22         self.assertEqual(arc.startPoint().x(), 0)
23         self.assertEqual(arc.startPoint().y(), 0)
24
25     def test_number_of_args(self):
26         with self.assertRaises(WrongNumberOfArguments):
27             self.sketch.addArc(0, 1, 1, 1)
28         with self.assertRaises(WrongNumberOfArguments):
29             self.sketch.addArc(0, 1)
30
31     def test_modify_arc(self):
32         # Note: arc will modify startPoint and endPoint to be in circle
33         arc = self.sketch.addArc(0, 1, 0, 0, 1, 1)
34         arc.setCenter(0, 0)
35         arc.setStartPoint(1, 1)
36         arc.setEndPoint(-1, -1)
37         model.do()
38         self.assertEqual(arc.center().x(), 0)
39         self.assertEqual(arc.center().y(), 0)
40         self.assertEqual(arc.startPoint().x(), 1)
41         self.assertEqual(arc.startPoint().y(), 1)
42         self.assertEqual(arc.endPoint().x(), -1)
43         self.assertEqual(arc.endPoint().y(), -1)
44
45
46 if __name__ == "__main__":
47     unittest.main(verbosity=2)