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,Tools.UnitTest,vhLib.Macro %outUnitTest,Tools.UnitTest 1 %RegisteredObject %Boolean Tools.Test.Manager Tools.Test.VerwachteExceptie %ArrayOfDataTypes %TimeStamp Indien true wordt de gehele testcase niet uitgevoerd %Boolean 0 Delimited lijst van Methods die niet moeten uitgevoerd worden Eerste karakter bepaald delimiter %String %String %String 4682||1000 AManager:Tools.Test.Manager %Status aTestName:%String aTestName:%String %Boolean Tools.Test.VerwachteExceptie Exceptie:Tools.Test.VerwachteExceptie 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Var:%String %Boolean aAutoQuoted:%String,aValue1:%String,aValue2:%String,aMessage:%String %Boolean aAutoQuoted:%String,aValue1:%String,aValue2:%String,aMessage:%String %Boolean aAutoQuoted:%String,aValue1:%String,aValue2:%String,aMessage:%String %Boolean aAutoQuoted:%String,aValue1:%String,aValue2:%String,aDifference:%String,aMessage:%String %Boolean (aDifference) Do manager.LogAssert(success,"AssertAlmostEquals",aMessage) Quit success ]]> aAutoQuoted:%String,List1:%ListOfDataTypes,List2:%ListOfDataTypes,aMessage:%String %Status *"_Value2_"*" } } Set manager=r%Manager if List1.Count() '= List2.Count() { set aMessage = aMessage _ "# Items differs "_List1.Count()_"="_List2.Count() } Do manager.LogAssert(success,"AssertEqualsList",aMessage) Quit success ]]> aAutoQuoted:%String,Method:%String,ExceptionClass:%String,ExceptionMessage:%String="",aMessage:%String %Boolean aAutoQuoted:%String,aValue:%String,aMessage:%String %Boolean aAutoQuoted:%String,aValue:%String,aMessage:%String %Boolean aAutoQuoted:%String,status:%String,aMessage:%String %Status "_$g(errorarray(1)) Do manager.LogAssert(success,"AssertStatusOK",aMessage) Quit success ]]> aAutoQuoted:%String,Folder:%String,aMessage:%String="" %Status aAutoQuoted:%String,Object:%RegisteredObject,VerwachtObject:%RegisteredObject,aMessage:%String="" "_ WaardePropertyVerwachtObject ) } } if Verschillen.Count() { set aMessage = aMessage _ ##class(TECH.ListUtils).ListToPieces(Verschillen,$$$CRLF) set success = 0 } Do manager.LogAssert(success,"AssertObject",aMessage) Quit success ]]> Path:%String 1 %Boolean 0) ) quit Result ]]> Path:%String 1 0) set itFiles = ##class(TECH.ListIterator).%New(FileList) while ( itFiles.HasNext() ) && ( RecentAangepast ) { #dim File As TECH.FileInfo = itFiles.Next() if ..ControleBestandNodigOpRecenteAanpassing(File) { set RecentAangepast = '##class(TECH.Comparator.TimeStampComparator).%New().IsKleinerDan(File.DateModified,..StartTime) } } quit RecentAangepast ]]> FileInfo:TECH.FileInfo 1 %Boolean aAutoQuoted:%String,status:%String,aMessage:%String %Status aMessage:%String %Status aAutoQuoted:%String,file1:%String,file2:%String,aMessage:%String %Boolean message:%String [Previously private] 1 argline:%String,type:%String %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 "" ]]> EventType:%String