Correction of testing case for issue 24374
[occt.git] / tests / bugs / fclasses / bug15489
1 puts "==========="
2 puts "OCC15489"
3 puts "==========="
4
5 set BugNumber OCC15489
6
7 ######################################################
8 # Constructor gp_Lin2d(A, B, C) creates line with origin point in infinity
9 ######################################################
10
11 proc GetPercent {Value GoodValue} {
12    set Percent 0.
13    if {${GoodValue} != 0.} {
14       set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
15    } elseif {${Value} != 0.} {
16       set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
17    } else {
18       set Percent 0.
19    }
20    return ${Percent}
21 }
22
23 pload QAcommands
24
25 set A 1e-20
26 set B -1.
27 set C 2.
28
29 set OriginList [OCC15489 $A $B $C]
30 regexp {X_0 += +([-0-9.+eE]+)} $OriginList full X_0
31 regexp {Y_0 += +([-0-9.+eE]+)} $OriginList full Y_0
32
33 set percent_max 0.1
34 set good_X_0 -1.9999999999999999e-20
35 set good_Y_0 2
36 set status 0
37
38 set X_0_percent [GetPercent ${X_0} ${good_X_0}]
39 puts "X_0_percent = ${X_0_percent}"
40 if { ${X_0_percent} > ${percent_max} } {
41    puts "X_0: Faulty ${BugNumber}"
42    set status 1
43 } else {
44    puts "X_0: OK ${BugNumber}"
45 }
46
47 set Y_0_percent [GetPercent ${Y_0} ${good_Y_0}]
48 puts "Y_0_percent = ${Y_0_percent}"
49 if { ${Y_0_percent} > ${percent_max} } {
50    puts "Y_0: Faulty ${BugNumber}"
51    set status 1
52 } else {
53    puts "Y_0: OK ${BugNumber}"
54 }
55
56 # Resume
57 puts ""
58 if { ${status} != 0 } {
59    puts "Faulty ${BugNumber}"
60 } else {
61    puts "OK ${BugNumber}"
62 }