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 0 vhUnitTest.Manager AManager %Status %Status %Status aTestName:%String %Status 1 1 aTestName:%String %Status 1 1 Var %Boolean 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 "" ]]>