0027970: Improvement of standard attributes usability - containers.
[occt.git] / tests / caf / basic / V7
diff --git a/tests/caf/basic/V7 b/tests/caf/basic/V7
new file mode 100644 (file)
index 0000000..80d72be
--- /dev/null
@@ -0,0 +1,84 @@
+#INTERFACE CAF
+# Basic attributes
+# TDataStd_ReferenceList
+#
+# Testing attribute: User defined (additional GUID) TDataStd_ReferenceList
+#
+# Testing command:   SetReferenceList
+# Testing command:   GetReferenceList
+#
+
+puts "caf001-V7"
+set QA_DUP 0
+
+# Add an attribute to a data framework
+set aSetAttr11 0:3
+set aSetAttr12 0:4
+set aLabel 0:2
+
+set aGuid1 "12e94561-6dbc-11d4-b9c8-0060b0ee281b"
+
+SetReferenceList D ${aLabel} ${aSetAttr11} ${aSetAttr12}
+SetReferenceList D ${aLabel} -g ${aGuid1} ${aSetAttr11} ${aSetAttr12}
+
+# Close/Open the transaction
+NewCommand D
+
+# Forget the attribute
+ForgetAll D ${aLabel}
+
+# Close/Open the transaction
+NewCommand D
+
+# Undo-Redo-Undo
+Undo D
+Redo D
+Undo D
+
+# Save Document
+Format D XmlOcaf
+set aFile ${imagedir}/caf001-V7.xml
+SaveAs D  ${aFile}
+Close D
+
+#Open a document
+Open ${aFile} D
+
+
+# Get a value of the attribute
+set IsGood 1
+set aMessage1 "Add TDataStd_ReferenceList attribute: Error"
+set aGetAttr1 [GetReferenceList D ${aLabel}]
+set aLen1 [llength ${aGetAttr1}]
+set aGetAttr2 [GetReferenceList D ${aLabel} ${aGuid1}]
+set aLen2 [llength ${aGetAttr2}]
+
+if { ${aLen1} != ${aLen2}} {
+   set IsGood 0
+   puts "aLen1=${aLen1}"
+   puts "aLen2=${aLen2}"
+   puts ${aMessage1}
+}
+
+set aGetAttr11 [lindex ${aGetAttr1} 0]
+set aGetAttr21 [lindex ${aGetAttr2} 0]
+if { ${aGetAttr11} != ${aGetAttr21} } {
+   set IsGood 0
+   puts "aGetAttr11=${aGetAttr11}"
+   puts "aGetAttr21=${aGetAttr21}"
+   puts ${aMessage1}
+}
+set aGetAttr12 [lindex ${aGetAttr1} 1]
+set aGetAttr22 [lindex ${aGetAttr2} 1]
+if { ${aGetAttr12} != ${aGetAttr22} } {
+   set IsGood 0
+   puts "aGetAttr12=${aGetAttr12}"
+   puts "aGetAttr22=${aGetAttr22}"
+   puts ${aMessage1}
+}
+
+if { ${IsGood} == 0} {
+  puts "Add TDataStd_ReferenceList attribute: Error"
+} else {
+  puts "Add TDataStd_ReferenceList attribute: OK"
+}