PROGRAM Etalon.ms.script USES io.ms.dict ; USES DumpStack.ms.dict ; USES SaveVarAndDo.ms.dict ; USES Testing.ms.dict ; USES CompileTimeVar.ms.dict ; FILE CompileTime-VAR g_OutFile nil %REMARK 'Текущий файл' Test&Dump Etalon.ms.script.test INTEGER VAR g_EtalonCount ( 0 >>> g_EtalonCount ) PROCEDURE Etalon ^ IN aLambda PROCEDURE Out IN aValue g_OutFile IsNil ?FAIL 'Файл для вывода не открыт' aValue ToPrintable g_OutFile File:WriteLn ; // Out STRING VAR l_FileName script:FileName >>> l_FileName [ l_FileName if ( g_EtalonCount > 0 ) ( '.' g_EtalonCount IntToStr ) '.prn' ] strings:Cat >>> l_FileName TF g_OutFile ( l_FileName File:OpenWrite >>> g_OutFile DumpStackTo ( aLambda DO ) Out ) // TF g_OutFile l_FileName FileSize 0 == ? ( l_FileName sysutils:FileExists ? ( l_FileName DeleteFile DROP ) // l_FileName sysutils:FileExists ) // l_FileName FileSize 0 == Inc g_EtalonCount ; // Etalon Etalon script:FileName Etalon ( 1 2 + ) Etalon 'Hello world' ; // Etalon.ms.script.test Etalon.ms.script.test
Заметки о тестировании, программировании и прочий "поток сознания", который жалко писать "в стол"
Комментариев нет:
Отправить комментарий