Adopted from InterSystems's %UnitTest.TestCase by logist (Dimas ltd., Russia)
Adapted to Van Hoecke's needs by JCL and FMA
Test case class. All test cases are derived from here.
Every test method should start with prefix "Test".
%outUnitTest,vhUnitTest,vhLib.Macro
%outUnitTest,vhUnitTest
1
%RegisteredObject
62131,54184.589092
59429,64520.016065
0
vhUnitTest.Manager
AManager
%Status
%Status
%Status
aTestName:%String
%Status
aTestName:%String
%Status
aAutoQuoted,aValue1,aValue2,aMessage
%Boolean
aAutoQuoted,aValue1,aValue2,aMessage
%Boolean
aAutoQuoted,aValue1,aValue2,aDifference,aMessage
%Boolean
(aDifference)
Do manager.LogAssert(success,"AssertAlmostEquals",aMessage)
Quit success
]]>
aAutoQuoted,aValue,aMessage
%Boolean
aAutoQuoted,aValue,aMessage
%Boolean
aAutoQuoted,status,aMessage
%Status
"_$g(errorarray(1))
Do manager.LogAssert(success,"AssertStatusOK",aMessage)
Quit success
]]>
aAutoQuoted,status,aMessage
%Status
aMessage
%Status
aAutoQuoted,file1,file2,aMessage
%Boolean
message
1
argline:%String,type:%String
1
%String
$l(argline) s c=$e(argline,i) d
. i c="""" s q='q
. i c="(" s p=p+1
. i c=")" s p=p-1
. i c=",",q=0,p=0 s args($increment(piece))=$e(argline,ptr,i-1),ptr=i+1
s args($increment(piece))=$e(argline,ptr,i-1)
i type="expr" q $g(args(1))
i type="equals" q $g(args(1))_"=="_$g(args(2))
q ""
]]>