Adding test cases from chl grid
[occt.git] / tests / bugs / moddata / bug22241
1 puts "========"
2 puts "OCC22241"
3 puts "========"
4 puts ""
5 ###########################################################
6 # The bug is appendix to the Salome Bug 0021148
7 ###########################################################
8
9 set BugNumber OCC22241
10
11 restore [locate_data_file bug22241_c1.draw] c1 
12 restore [locate_data_file bug22241_c2.draw] c2 
13
14 set extrema_res [extrema c1 c2]
15 set extrema_length [llength ${extrema_res} ]
16
17 if {${extrema_length} < 8 } {
18    puts "${BugNumber}: Faulty"
19 } else {
20     regexp {Extrema 1 is point : +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $extrema_res full X Y Z
21    set good_X 1
22    set good_Y 3.0891916307971289e-33
23    set good_Z 0.059999999999999998
24
25   set percent_max 0.1
26
27 proc GetPercent {Value GoodValue} {
28     set Percent 0.
29     if {${GoodValue} != 0.} {
30         set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
31     } elseif {${Value} != 0.} {
32         set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
33     } else {
34         set Percent 0.
35     }
36     return ${Percent}
37 }
38    set X_percent [GetPercent ${X} ${good_X}]
39    set Y_percent [GetPercent ${Y} ${good_Y}]
40    set Z_percent [GetPercent ${Z} ${good_Z}]
41
42    if {${X_percent} > ${percent_max} || ${Y_percent} > ${percent_max} || ${Z_percent} > ${percent_max}} {
43       puts "X = ${X} Y = ${Y} Z = ${Z}"
44       puts "X_percent = ${X_percent} Y_percent = ${Y_percent} Z_percent = ${Z_percent}"
45       puts "${BugNumber}: Faulty"
46    } else {
47       puts "${BugNumber}: OK"
48    }
49
50 }
51