0031918: Application Framework - New binary format for fast reading part of OCAF...
[occt.git] / tests / bugs / caf / bug21231
CommitLineData
3bea4c16 1puts "============"
2puts "OCC21231"
3puts "============"
4puts ""
5#######################################################################
6#######################################################################
7
8set BugNumber OCC21231
9set status 0
10
11pload TOBJ
12
13# Create a new document
14TObjNew TD1
15
16TObjAddObj TD1 obj1
17TObjAddObj TD1 obj2
18TObjAddObj TD1 obj3
19
20set parent "obj1 obj2 obj2"
21set children "ch11 ch21 ch22"
22for { set i 0} {$i <= 2} {incr i} {
23 set p [lindex $parent $i]
24 set ch [lindex $children $i]
25 TObjAddChild TD1 $p $ch
26}
27
28TObjSetRef TD1 obj1 obj2
29
30TObjSetVal TD1 obj1 533
31TObjSetVal TD1 obj2 -r 3 3.14 2.78 0.123
32
33# Save the document
34set aFile $imagedir/${test_image}-[file tail [info script]].cbf
35catch {[file delete ${aFile}]}
36catch {TObjSave TD1 ${aFile}}
37if { ![file exists ${aFile}] } {
38 set status 1
39 puts "There is not ${aFile} file; TObjSave command: Error"
40 puts "${BugNumber}: ERROR"
41} else {
42 puts "Save the document to ${aFile} file"
43}
44
45TObjClose TD1
46unset TD1
47
48# Restore the document
49if [catch { TObjLoad TD2 ${aFile} } catch_result] {
50 puts "${BugNumber}: ERROR"
51}
52
53# check children of obj2
54set retChh [TObjGetChildren TD2 obj2]
55for { set i 1 } { $i <= 2} {incr i} {
56 set chh [lindex $retChh [expr $i - 1]]
57 set oldCh [lindex $children $i]
58 if { $chh != $oldCh } {
59 set status 1
60 puts "${BugNumber}: check children of obj2; ERROR (case 1)"
61 }
62}
63
64# check reference from obj1
65set retRef [TObjGetRef TD2 obj1]
66if { $retRef != "obj2" } {
67 set status 1
68 puts "${BugNumber}: check reference from obj1; ERROR (case 2)"
69}
70
71# check stored single integer value
72set retInt [TObjGetVal TD2 obj1 -i]
73if { $retInt != 533 } {
74 set status 1
75 puts "${BugNumber}: check stored single integer value; ERROR (case 3)"
76}
77
78# check stored array of doubles
79set retDbl [TObjGetVal TD2 obj2 -r]
80set nbVal [llength $retDbl]
81if { $nbVal != 3 } {
82 set status 1
83 puts "${BugNumber}: check stored array of doubles; ERROR (case 4)"
84}
85
86if { ${status} != 0 } {
87 puts "Faulty ${BugNumber}"
88} else {
89 puts "OK ${BugNumber}"
90}
91