]> SALOME platform Git repositories - modules/shaper.git/blob - test.API/SHAPER/Primitives/TestCone.py
Salome HOME
[Code coverage PrimitivesAPI]: Improve coverage
[modules/shaper.git] / test.API / SHAPER / Primitives / TestCone.py
1 from salome.shaper import model
2
3 model.begin()
4 partSet = model.moduleDocument()
5 Part_1 = model.addPart(partSet)
6 Part_1_doc = Part_1.document()
7
8 # Init
9 Point_1 = model.addPoint(Part_1_doc, 10, 10, 10).result()
10 Point_2 = model.selection("VERTEX", "pnt")
11 Axis_1 = model.addAxis(Part_1_doc, 0, 10, 0).result()
12 Axis_2 = model.selection("EDGE", "edge")
13
14 # Parameters
15 model.addParameter(Part_1_doc, "baseRadius", "10")
16 model.addParameter(Part_1_doc, "topRadius", "7")
17 model.addParameter(Part_1_doc, "h", "15")
18
19 # Tests
20 Cone_1 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 5., 10.)
21 Cone_2 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 5., 10., 10.)
22 Cone_3 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 0., 5., 10.)
23 Cone_4 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), -3., 5., 10.)
24 Cone_5 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 0., 10.)
25 Cone_6 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., -5., 10.)
26 Cone_7 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 5., 0.)
27 Cone_8 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 5., -10.)
28 Cone_9 = model.addCone(Part_1_doc, Point_1, model.selection("EDGE", "PartSet/OZ"), 10., 7., 15.)
29 Cone_10 = model.addCone(Part_1_doc, Point_1, Axis_1, 10., 7., 15.)
30 Cone_11 = model.addCone(Part_1_doc, Point_2, model.selection("EDGE", "PartSet/OZ"), 10., 7., 15.)
31 Cone_12= model.addCone(Part_1_doc, Point_1, Axis_2, 10., 7., 15.)
32 Cone_13 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 0., 0., 15.)
33 Cone_14 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 10., 15.)
34 Cone_15 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), "baseRadius", "topRadius", "h")
35
36 Cone_16 = model.addCone(Part_1_doc, 5., 10., 15.)
37 Cone_16.setRadius(10., 15.)
38
39 model.do()
40 model.end()
41
42 # Checks
43 from GeomAPI import GeomAPI_Shape
44
45 model.testNbResults(Cone_1, 1)
46 model.testNbSubResults(Cone_1, [0])
47 model.testNbSubShapes(Cone_1, GeomAPI_Shape.SOLID, [1])
48 model.testNbSubShapes(Cone_1, GeomAPI_Shape.FACE, [3])
49 model.testHaveNamingFaces(Cone_1, model, Part_1_doc)
50
51 model.testNbResults(Cone_2, 1)
52 model.testNbSubResults(Cone_2, [0])
53 model.testNbSubShapes(Cone_2, GeomAPI_Shape.SOLID, [1])
54 model.testNbSubShapes(Cone_2, GeomAPI_Shape.FACE, [3])
55 model.testHaveNamingFaces(Cone_2, model, Part_1_doc)
56
57 model.testNbResults(Cone_3, 1)
58 model.testNbSubResults(Cone_3, [0])
59 model.testNbSubShapes(Cone_3, GeomAPI_Shape.SOLID, [1])
60 model.testNbSubShapes(Cone_3, GeomAPI_Shape.FACE, [2])
61 model.testHaveNamingFaces(Cone_3, model, Part_1_doc)
62
63 model.testNbResults(Cone_5, 1)
64 model.testNbSubResults(Cone_5, [0])
65 model.testNbSubShapes(Cone_5, GeomAPI_Shape.SOLID, [1])
66 model.testNbSubShapes(Cone_5, GeomAPI_Shape.FACE, [2])
67 model.testHaveNamingFaces(Cone_5, model, Part_1_doc)
68
69 model.testNbResults(Cone_9, 1)
70 model.testNbSubResults(Cone_9, [0])
71 model.testNbSubShapes(Cone_9, GeomAPI_Shape.SOLID, [1])
72 model.testNbSubShapes(Cone_9, GeomAPI_Shape.FACE, [3])
73 model.testHaveNamingFaces(Cone_9, model, Part_1_doc)
74
75 model.testNbResults(Cone_10, 1)
76 model.testNbSubResults(Cone_10, [0])
77 model.testNbSubShapes(Cone_10, GeomAPI_Shape.SOLID, [1])
78 model.testNbSubShapes(Cone_10, GeomAPI_Shape.FACE, [3])
79 model.testHaveNamingFaces(Cone_10, model, Part_1_doc)
80
81 model.testNbResults(Cone_15, 1)
82 model.testNbSubResults(Cone_15, [0])
83 model.testNbSubShapes(Cone_15, GeomAPI_Shape.SOLID, [1])
84 model.testNbSubShapes(Cone_15, GeomAPI_Shape.FACE, [3])
85 model.testHaveNamingFaces(Cone_15, model, Part_1_doc)
86
87 model.testNbResults(Cone_16, 1)
88 model.testNbSubResults(Cone_16, [0])
89 model.testNbSubShapes(Cone_16, GeomAPI_Shape.SOLID, [1])
90 model.testNbSubShapes(Cone_16, GeomAPI_Shape.FACE, [3])
91 model.testHaveNamingFaces(Cone_16, model, Part_1_doc)
92
93 model.testNbResults(Cone_4, 0)
94 assert(Cone_4.feature().error() == "Cone builder :: base radius is negative.")
95
96 model.testNbResults(Cone_6, 0)
97 assert(Cone_6.feature().error() == "Cone builder :: top radius is negative.")
98
99 model.testNbResults(Cone_7, 0)
100 assert(Cone_7.feature().error() == "Cone builder :: height is negative or null.")
101
102 model.testNbResults(Cone_8, 0)
103 assert(Cone_8.feature().error() == "Cone builder :: height is negative or null.")
104
105 model.testNbResults(Cone_11, 0)
106 assert(Cone_11.feature().error() == "Attribute \"base_point\" is not initialized.")
107
108 model.testNbResults(Cone_12, 0)
109 assert(Cone_12.feature().error() == "Attribute \"axis\" is not initialized.")
110
111 model.testNbResults(Cone_13, 0)
112 assert(Cone_13.feature().error() == "Cone builder :: base radius and top radius are negative or null.")
113
114 model.testNbResults(Cone_14, 0)
115 assert(Cone_14.feature().error() == "Cone builder :: base radius and top radius are too close.")