Salome HOME
Added CPP High API for FeaturesPlugin_RevolutionCut, FeaturesPlugin_RevolutionFuse
[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, 0)
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, 0)
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, 0)
34         arc.setByCenterStartEnd(0, 0, 1, 1, -1, -1, 0)
35         model.do()
36         self.assertEqual(arc.center().x(), 0)
37         self.assertEqual(arc.center().y(), 0)
38         self.assertEqual(arc.startPoint().x(), 1)
39         self.assertEqual(arc.startPoint().y(), 1)
40         self.assertEqual(arc.endPoint().x(), -1)
41         self.assertEqual(arc.endPoint().y(), -1)
42
43
44 if __name__ == "__main__":
45     unittest.main(verbosity=2)