0024927: Getting rid of "Persistent" functionality -- Tests
[occt.git] / tests / caf / basic / M3
1 #INTERFACE CAF
2 puts "================"
3 puts "OCC6493"
4 puts "================"
5 puts ""
6 ######################################################
7 # No binary persistence for TDataStd_ExtStringArray attribute
8 ######################################################
9
10 # Basic attributes
11 #
12 # Testing attribute: TDataStd_ExtStringArray
13 #
14 # Testing command:   SetExtStringArray
15 # Testing command:   GetExtStringArray
16 #
17
18 puts "caf001-M3"
19 set QA_DUP 0
20
21 # Add an attribute to a data framework
22 set aFrom1 1
23 set aTo1 2
24 set aLabel 0:2
25 set aSetAttr11 "TDataStd"
26 set aSetAttr12 "ExtStringArray"
27 set isDelta 0
28 SetExtStringArray D ${aLabel} ${isDelta} ${aFrom1} ${aTo1} ${aSetAttr11} ${aSetAttr12}
29
30 # Close/Open the transaction
31 NewCommand D
32
33 # Save the document
34 set aFile ${imagedir}/caf001-M3.cbf
35 file delete ${aFile}
36 SaveAs D ${aFile}
37 if { ![file exists ${aFile}] } {
38    puts "There is not ${aFile} file; SaveAs command: Error"
39 }
40 #catch {exec chmod 777 ${aFile}}
41
42 # Restore the document
43 Close D
44 Open ${aFile} DD
45
46 # Get a value of the attribute
47 set IsGood 1
48 set aMessage3 "Get a value of TDataStd_ExtStringArray attribute from restoring document: Error"
49 set IsDone [catch {set aGetAttr3 [GetExtStringArray DD ${aLabel}]} aResult]
50 if { ${IsDone} != 0 } {
51    set IsGood 0
52    puts ${aMessage3}
53 }
54 set aLen3 [llength ${aGetAttr3}]
55 if { ${aLen3} != [expr ${aTo1} - ${aFrom1} + 1] } {
56    set IsGood 0
57    puts "aLen3=${aLen3}"
58    puts ${aMessage3}
59 }
60 set aGetAttr41 [lindex ${aGetAttr3} 0]
61 if { ${aSetAttr11} != ${aGetAttr41} } {
62    set IsGood 0
63    puts "aGetAttr41=${aGetAttr41}"
64    puts ${aMessage3}
65 }
66 set aGetAttr42 [lindex ${aGetAttr3} 1]
67 if { ${aSetAttr12} != ${aGetAttr42} } {
68    set IsGood 0
69    puts "aGetAttr42=${aGetAttr42}"
70    puts ${aMessage3}
71 }
72
73 if { ${IsGood} == 0} {
74   puts "OCC6493: Error"
75 } else {
76   puts "OCC6493: OK"
77 }