0027932: Improvement of standard attributes usability.
[occt.git] / tests / caf / basic / N6
diff --git a/tests/caf/basic/N6 b/tests/caf/basic/N6
new file mode 100644 (file)
index 0000000..f26d506
--- /dev/null
@@ -0,0 +1,58 @@
+#INTERFACE CAF
+# Basic attributes
+#
+# Testing attribute: User defined (additional GUID) TDataStd_AsciiString
+#
+# Testing command:   SetAsciiString
+# Testing command:   GetAsciiString
+#
+
+puts "caf001-N6"
+
+# Add an attribute to a data framework
+set aSetAttr1 "New Attribute_1"
+set aSetAttr2 "New Attribute_2"
+set aGuid1 "12e94571-6dbc-11d4-b9c8-0060b0ee281b"
+set aGuid2 "12e94572-6dbc-11d4-b9c8-0060b0ee281b"
+set aLabel 0:2
+SetAsciiString D ${aLabel} ${aSetAttr1} ${aGuid1}
+SetAsciiString D ${aLabel} ${aSetAttr2} ${aGuid2}
+
+# Close/Open the transaction
+NewCommand D
+
+# Save the document
+set aFile ${imagedir}/caf001-N6.cbf
+file delete ${aFile}
+SaveAs D ${aFile}
+if { ![file exists ${aFile}] } {
+       puts "There is not ${aFile} file; SaveAs command: Error"
+       return
+}
+#catch {exec chmod 777 ${aFile}}
+
+# Restore the document
+Close D
+Open ${aFile} DD
+
+# Get a value of the attribute #1
+set IsDone [catch {set aGetAttr3 [GetAsciiString DD ${aLabel} ${aGuid1}]} aResult]
+if { ${IsDone} != 0 ||
+       ${aSetAttr1}!=${aGetAttr3} } {
+       puts ${aResult}
+       puts "aSetAttr1=${aSetAttr1} aGetAttr3=${aGetAttr3}"
+       puts "Get a value of the first TDataStd_AsciiString attribute from restoring document: Error"
+       return
+}
+
+# Get a value of the attribute #2
+set IsDone [catch {set aGetAttr4 [GetAsciiString DD ${aLabel} ${aGuid2}]} aResult]
+if { ${IsDone} != 0 ||
+       ${aSetAttr2}!=${aGetAttr4} } {
+       puts ${aResult}
+       puts "aSetAttr2=${aSetAttr2} aGetAttr4=${aGetAttr4}"
+       puts "Get a value of the second TDataStd_AsciiString attribute from restoring document: Error"
+       return
+}
+
+puts "Get a value of user defined TDataStd_AsciiString attributes from restoring document: OK"