#INTERFACE CAF
# Basic attributes
#
# Testing attribute: TDataStd_RealArray
#
# Testing command:   SetRealArray
# Testing command:   GetRealArray
#

puts "caf001-C2"
set QA_DUP 0

# Add an attribute to a data framework
set aFrom1 1
set aTo1 2
set aSetAttr11 3.
set aSetAttr12 4.
set aLabel 0:2
set isDelta 0
SetRealArray D ${aLabel} ${isDelta} ${aFrom1} ${aTo1} ${aSetAttr11} ${aSetAttr12}

# Close/Open the transaction
NewCommand D

# Set a new value of the attribute
set aFrom2 1
set aTo2 2
set aSetAttr21 33.
set aSetAttr22 44.
SetRealArray D ${aLabel} ${isDelta} ${aFrom2} ${aTo2} ${aSetAttr21} ${aSetAttr22}

# Close/Open the transaction
NewCommand D

# Undo
Undo D

# Get a value of the attribute
set IsGood 1
set aMessage2 "Set a value of TDataStd_RealArray attribute: Error"
set aGetAttr2 [GetRealArray D ${aLabel}]
set aLen2 [llength ${aGetAttr2}]
if { ${aLen2} != [expr ${aTo1} - ${aFrom1} + 1] } {
   set IsGood 0
	puts "aLen2=${aLen2}"
	puts ${aMessage2}
###	return
}
set aGetAttr31 [lindex ${aGetAttr2} 0]
if { ${aSetAttr11} != ${aGetAttr31} } {
   set IsGood 0
	puts "aGetAttr31=${aGetAttr31}"
	puts ${aMessage2}
###	return
}
set aGetAttr32 [lindex ${aGetAttr2} 1]
if { ${aSetAttr12} != ${aGetAttr32} } {
   set IsGood 0
	puts "aGetAttr32=${aGetAttr32}"
	puts ${aMessage2}
###	return
}

if { ${IsGood} == 0} {
  puts "Set a value of TDataStd_RealArray attribute: Error"
} else {
  puts "Set a value of TDataStd_RealArray attribute: OK"
}