diff --git a/TESTS/DATOS_READONLY/fb2p_frm_1.sct b/TESTS/DATOS_READONLY/fb2p_frm_1.sct new file mode 100644 index 0000000..5324983 Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_frm_1.sct differ diff --git a/TESTS/DATOS_READONLY/fb2p_frm_1.scx b/TESTS/DATOS_READONLY/fb2p_frm_1.scx new file mode 100644 index 0000000..0391e14 Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_frm_1.scx differ diff --git a/TESTS/DATOS_READONLY/fb2p_frm_2.sct b/TESTS/DATOS_READONLY/fb2p_frm_2.sct new file mode 100644 index 0000000..803343d Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_frm_2.sct differ diff --git a/TESTS/DATOS_READONLY/fb2p_frm_2.scx b/TESTS/DATOS_READONLY/fb2p_frm_2.scx new file mode 100644 index 0000000..d52cd12 Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_frm_2.scx differ diff --git a/TESTS/DATOS_READONLY/fb2p_test.pjt b/TESTS/DATOS_READONLY/fb2p_test.pjt new file mode 100644 index 0000000..bedf8f9 Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_test.pjt differ diff --git a/TESTS/DATOS_READONLY/fb2p_test.pjx b/TESTS/DATOS_READONLY/fb2p_test.pjx new file mode 100644 index 0000000..bcbff62 Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_test.pjx differ diff --git a/TESTS/DATOS_READONLY/fb2p_test.vct b/TESTS/DATOS_READONLY/fb2p_test.vct new file mode 100644 index 0000000..545b1bf Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_test.vct differ diff --git a/TESTS/DATOS_READONLY/fb2p_test.vcx b/TESTS/DATOS_READONLY/fb2p_test.vcx new file mode 100644 index 0000000..2024fa7 Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_test.vcx differ diff --git a/TESTS/fxu_lib_objetos_y_funciones_de_soporte.prg b/TESTS/fxu_lib_objetos_y_funciones_de_soporte.prg new file mode 100644 index 0000000..6ac91b2 --- /dev/null +++ b/TESTS/fxu_lib_objetos_y_funciones_de_soporte.prg @@ -0,0 +1,89 @@ +*-- Módulo: fxu_lib_objetos_y_funciones_de_soporte.PRG +*-- Autor: Fernando D. Bozzo - 30/11/2013 +*-- Detalle: LIBRERÍA DE SOPORTE DE LOS TESTS PARA OBJETOS Y FUNCIONES DE FOXBIN2PRG +*---------------------------------------------------------------------------------------- + + +DEFINE CLASS CL_FXU_CONFIG AS CUSTOM + #IF .F. + LOCAL THIS AS CL_FXU_CONFIG OF 'fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + + _MEMBERDATA = [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] + + + cOldPath = '' + cPath = 'FOXUNIT;TESTS;TESTS\DATOS_TEST' + cPathDatosReadOnly = 'TESTS\DATOS_READONLY' + cPathDatosTest = 'TESTS\DATOS_TEST' + cSetDate = '' + + + *---------------------------------------------------------------------------------------- + PROCEDURE INIT + THIS.cSetDate = SET("Date") + + SET DATE TO YMD + SET HOURS TO 24 + SET SAFETY OFF + SET TABLEPROMPT OFF + SET TALK OFF + + THIS.cOldPath = SET("Path") + SET PATH TO (THIS.cPath) + ENDPROC + + + *---------------------------------------------------------------------------------------- + PROCEDURE DESTROY + SET PATH TO (THIS.cOldPath) + SET DATE (THIS.cSetDate) + ENDPROC + + + *---------------------------------------------------------------------------------------- + PROCEDURE SETUP_COMUN + ERASE (FORCEPATH( '*.*', THIS.cPathDatosTest ) ) + ENDPROC + + + *---------------------------------------------------------------------------------------- + PROCEDURE TEARDOWN_COMUN + USE IN (SELECT("TABLABIN")) + ENDPROC + + + *---------------------------------------------------------------------------------------- + PROCEDURE copiarArchivosParaTest + LPARAMETERS tcFileSpec + + COPY FILE (FORCEPATH( tcFileSpec, THIS.cPathDatosReadOnly )) TO (FORCEPATH( tcFileSpec, THIS.cPathDatosTest )) + ENDPROC + + + *---------------------------------------------------------------------------------------- + FUNCTION mejorarPresentacionCaracteresEspeciales + LPARAMETERS tcText + RETURN STRTRAN( ; + STRTRAN( ; + STRTRAN( ; + STRTRAN( ; + STRTRAN( ; + STRTRAN( tcText, CHR(13)+CHR(10), '' ) ; + , CHR(13), '' ) ; + , CHR(10), '' ) ; + , CHR(9), '' ) ; + , ' ', '·' ) ; + , '', ''+CHR(13)+CHR(10) ) + ENDFUNC + + +ENDDEFINE diff --git a/TESTS/ut__foxbin2prg.prg b/TESTS/ut__foxbin2prg.prg new file mode 100644 index 0000000..1306ecc --- /dev/null +++ b/TESTS/ut__foxbin2prg.prg @@ -0,0 +1,3279 @@ +DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg + + #IF .F. + LOCAL THIS AS ut__foxbin2prg OF ut__foxbin2prg.prg + #ENDIF + + #DEFINE C_FB2P_VALUE_I '' + #DEFINE C_FB2P_VALUE_F '' + #DEFINE CR_LF CHR(13) + CHR(10) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE C_TAB CHR(9) + #DEFINE C_PROC 'PROCEDURE' + #DEFINE C_ENDPROC 'ENDPROC' + #DEFINE C_TEXT 'TEXT' + #DEFINE C_ENDTEXT 'ENDTEXT' + #DEFINE C_IF_F '#IF .F.' + #DEFINE C_ENDIF '#ENDIF' + #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' + #DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE' + icObj = NULL + + + ******************************************************************************************************************************************* + FUNCTION SETUP + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + *LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') + oFXU_LIB.setup_comun() + + *THIS.icObj = NEWOBJECT("c_conversor_base", "FOXBIN2PRG.PRG") + *loObj = THIS.icObj + *loObj.l_Test = .F. + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION TearDown + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + THIS.icObj = NULL + + IF VARTYPE(oFXU_LIB) = "O" + oFXU_LIB.teardown_comun() + oFXU_LIB = NULL + ENDIF + RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Evaluate_results + LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, tc_InputFile, tcParent, tcClass, tcObjName, toReg, toReg_Esperado + + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + *LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + *loObj = THIS.icObj + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + IF ISNULL(toEx) + LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ; + , lnPropsAndComments_Count, lnPropsAndComments_Count_Esperado, laPropsAndComments(1,2), laPropsAndComments_Esperado(1,2) ; + , laProtected(1), lnProtected_Count, laProtected_Esperado(1), lnProtected_Count_Esperado ; + , laMethods(1,2), lnMethods_Count, laMethods_Esperado(1,2), lnMethods_Count_Esperado + LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG" + + *-- Algunos ajustes para mejor visualización de caracteres especiales + *tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue ) + loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG") + + *-- Reserved3 + loObj.get_PropsAndCommentsFrom_RESERVED3( toReg.RESERVED3, .F., @laPropsAndComments, @lnPropsAndComments_Count, '' ) + loObj.get_PropsAndCommentsFrom_RESERVED3( toReg_Esperado.RESERVED3, .F., @laPropsAndComments_Esperado, @lnPropsAndComments_Count_Esperado, '' ) + + *-- Properties + loObj.get_PropsAndValuesFrom_PROPERTIES( toReg.PROPERTIES, 0, @laPropsAndValues, @lnPropsAndValues_Count, '' ) + loObj.get_PropsAndValuesFrom_PROPERTIES( toReg_Esperado.PROPERTIES, 0, @laPropsAndValues_Esperado, @lnPropsAndValues_Count_Esperado, '' ) + + *-- Protected + loObj.get_PropsFrom_PROTECTED( toReg.PROTECTED, .F., @laProtected, @lnProtected_Count, '' ) + loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' ) + + *-- Methods + loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count ) + loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado ) + + + + *-- Visualización de valores + THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) ) + + THIS.messageout( '' ) + THIS.messageout( 'PROPERTIES esperadas para ' + tcParent + '.' + tcObjName + ' (' + tcClass + ')' + ': ' + TRANSFORM(lnPropsAndValues_Count_Esperado) ) + *THIS.messageout( REPLICATE('-',80) ) + *FOR I = 1 TO lnPropsAndValues_Count_Esperado + * THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndValues_Esperado(I,1)) ) + *ENDFOR + + THIS.messageout( '' ) + THIS.messageout( 'PROTECTED esperadas para ' + tcParent + '.' + tcObjName + ' (' + tcClass + ')' + ': ' + TRANSFORM(lnProtected_Count_Esperado) ) + *THIS.messageout( REPLICATE('-',80) ) + *FOR I = 1 TO lnProtected_Count_Esperado + * THIS.messageout( 'PropName = ' + TRANSFORM(laProtected_Esperado(I,1)) ) + *ENDFOR + + THIS.messageout( '' ) + THIS.messageout( 'RESERVED3 esperadas para ' + tcParent + '.' + tcObjName + ' (' + tcClass + ')' + ': ' + TRANSFORM(lnPropsAndComments_Count_Esperado) ) + *THIS.messageout( REPLICATE('-',80) ) + *FOR I = 1 TO lnPropsAndComments_Count_Esperado + * THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndComments_Esperado(I,1)) ) + *ENDFOR + + THIS.messageout( '' ) + THIS.messageout( 'METHODS esperadas para ' + tcParent + '.' + tcObjName + ' (' + tcClass + ')' + ': ' + TRANSFORM(lnMethods_Count_Esperado) ) + *THIS.messageout( REPLICATE('-',80) ) + *FOR I = 1 TO lnMethods_Count_Esperado + * THIS.messageout( 'Name = ' + TRANSFORM(laMethods_Esperado(I,1)) ) + *ENDFOR + + + *-- Evaluación de valores + *-- Reserved1 + THIS.assertequals( toReg_Esperado.Reserved1, toReg.Reserved1, "Valor de Reserved1" ) + + *-- Reserved2 + THIS.assertequals( toReg_Esperado.Reserved2, toReg.Reserved2, "Valor de Reserved2" ) + + *-- Reserved4 + THIS.assertequals( toReg_Esperado.Reserved4, toReg.Reserved4, "Valor de Reserved4" ) + + *-- Reserved5 + THIS.assertequals( toReg_Esperado.Reserved5, toReg.Reserved5, "Valor de Reserved5" ) + + *-- Reserved6 + THIS.assertequals( toReg_Esperado.Reserved6, toReg.Reserved6, "Valor de Reserved6" ) + + *-- Reserved7 + THIS.assertequals( toReg_Esperado.Reserved7, toReg.Reserved7, "Valor de Reserved7" ) + + *-- Reserved8 + THIS.assertequals( toReg_Esperado.Reserved8, toReg.Reserved8, "Valor de Reserved8" ) + + *-- PROPERTIES + THIS.assertequals( lnPropsAndValues_Count_Esperado, lnPropsAndValues_Count, "Cantidad de Properties" ) + FOR I = 1 TO lnPropsAndValues_Count_Esperado + THIS.asserttrue( ASCAN( laPropsAndValues, laPropsAndValues_Esperado(I,1), 1, -1, 1, 0+2+4) > 0, ' Comprobación de que existe la Property "' + TRANSFORM(taPropsAndValues_Esperado(I,1)) + '"' ) + ENDFOR + + *-- RESERVED3 + THIS.assertequals( lnPropsAndValues_Count_Esperado, lnPropsAndValues_Count, "Cantidad de Reserved3" ) + FOR I = 1 TO lnPropsAndValues_Count_Esperado + THIS.asserttrue( ASCAN( laPropsAndComments, laPropsAndComments_Esperado(I,1), 1, -1, 1, 0+2+4) > 0, ' Comprobación de que existe la Reserved3 "' + TRANSFORM(taPropsAndValues_Esperado(I,1)) + '"' ) + ENDFOR + + *-- PROTECTED + THIS.assertequals( lnProtected_Count_Esperado, lnProtected_Count, "Cantidad de Protected" ) + FOR I = 1 TO lnProtected_Count_Esperado + THIS.asserttrue( ASCAN( laProtected, laProtected_Esperado(I,1), 1, -1, 1, 0+2+4) > 0, ' Comprobación de que existe la Protected "' + TRANSFORM(taPropsAndValues_Esperado(I,1)) + '"' ) + ENDFOR + + *-- METHODS + THIS.assertequals( lnMethods_Count_Esperado, lnMethods_Count, "Cantidad de Methods" ) + FOR I = 1 TO lnPropsAndValues_Count_Esperado + THIS.asserttrue( ASCAN( laMethods, laMethods_Esperado(I,1), 1, -1, 1, 0+2+4) > 0, ' Comprobación de que existe el Method "' + TRANSFORM(taPropsAndValues_Esperado(I,1)) + '"' ) + ENDFOR + + ELSE + *-- Evaluación de errores + THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) ) + THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) ) + THIS.messageout( TRANSFORM(toEx.LINECONTENTS) ) + + THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' ) + ENDIF + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarLosCampos_MEMO_ParaElRegistroDeCabecera + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', 'VERSION = 3.00' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('dataenvironment') + lcParent = '' + lcObjName = 'Dataenvironment' + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR PLATFORM=="COMMENT " AND UniqueID=="Screen " + IF NOT FOUND() + ERROR 'No se encontró el registro de cabecera "Screen"' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + *-- + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__dataenvironment + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + TEXT TO loReg_Esperado.Reserved3 NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Top = 404 + Left = 11 + Width = 520 + Height = 200 + DataSource = .NULL. + Name = "Dataenvironment" + ENDTEXT + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('dataenvironment') + lcParent = '' + lcObjName = 'Dataenvironment' + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF +SET STEP ON + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__dataenvironment__Cursor1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('cursor') + lcParent = 'Dataenvironment' + lcObjName = 'Cursor1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Top = 20 + Left = 10 + Height = 98 + Width = 102 + Alias = "encuestas" + CursorSource = encuestas.dbf + Name = "Cursor1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('cl_form') + lcParent = '' + lcObjName = 'Cl_form1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Top = 0 + Left = 0 + Height = 345 + Width = 644 + DoCreate = .T. + Name = "Cl_form1" + Cl_optiongroup1.Option1.Value = 0 + Cl_optiongroup1.Option1.Left = 8 + Cl_optiongroup1.Option1.Top = 8 + Cl_optiongroup1.Option1.Name = "Option1" + Cl_optiongroup1.Option2.Value = 1 + Cl_optiongroup1.Option2.Left = 124 + Cl_optiongroup1.Option2.Top = 8 + Cl_optiongroup1.Option2.Name = "Option2" + Cl_optiongroup1.Value = 2 + Cl_optiongroup1.ZOrderSet = 1 + Cl_optiongroup1.propiedad_de_clase_sin_valor = Valor reescrito en el form! + Cl_optiongroup1.Name = "Cl_optiongroup1" + Cl_commandgroup1.Command1.Top = 4 + Cl_commandgroup1.Command1.Left = 8 + Cl_commandgroup1.Command1.Name = "Command1" + Cl_commandgroup1.Command2.Top = 4 + Cl_commandgroup1.Command2.Left = 124 + Cl_commandgroup1.Command2.Name = "Command2" + Cl_commandgroup1.ZOrderSet = 2 + Cl_commandgroup1.una_prop_cmgroup = Ahora tiene valor + Cl_commandgroup1.Name = "Cl_commandgroup1" + Cl_imagen1.Left = 268 + Cl_imagen1.Top = 292 + Cl_imagen1.ZOrderSet = 3 + Cl_imagen1.Name = "Cl_imagen1" + Cl_imagen2.Left = 316 + Cl_imagen2.Top = 292 + Cl_imagen2.ZOrderSet = 4 + Cl_imagen2.Name = "Cl_imagen2" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__shape1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('shape') + lcParent = 'Cl_form1' + lcObjName = 'Shape1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Top = 284 + Left = 264 + Height = 49 + Width = 101 + BorderStyle = 2 + BorderWidth = 1 + Curvature = 16 + SpecialEffect = 0 + ZOrderSet = 0 + Name = "Shape1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__txtPromotor + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1' + lcObjName = 'txtPromotor' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Comment = "" + ControlSource = "encuestas.promotor" + Height = 23 + Left = 328 + MaxLength = 20 + ReadOnly = .T. + TabIndex = 4 + Top = 164 + Width = 149 + ForeColor = 0,0,255 + DisabledForeColor = 0,0,160 + ZOrderSet = 5 + Name = "txtPromotor" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__lblPromotor + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('label') + lcParent = 'Cl_form1' + lcObjName = 'lblPromotor' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + AutoSize = .T. + WordWrap = .T. + BackStyle = 0 + Caption = "Promotor" + Left = 271 + Top = 164 + Width = 51 + TabIndex = 3 + ZOrderSet = 6 + Name = "lblPromotor" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__txtIdenc + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1' + lcObjName = 'txtIdenc' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Comment = "" + ControlSource = "encuestas.idenc" + Height = 23 + Left = 328 + MaxLength = 20 + ReadOnly = .T. + TabIndex = 6 + Top = 192 + Width = 149 + ForeColor = 0,0,255 + DisabledForeColor = 0,0,160 + ZOrderSet = 7 + Name = "txtIdenc" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__lblIdenc + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('label') + lcParent = 'Cl_form1' + lcObjName = 'lblIdenc' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + AutoSize = .T. + WordWrap = .T. + BackStyle = 0 + Caption = "Idenc" + Left = 292 + Top = 192 + Width = 30 + TabIndex = 5 + ZOrderSet = 8 + Name = "lblIdenc" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__txtCalific + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1' + lcObjName = 'txtCalific' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Comment = "" + ControlSource = "encuestas.calific" + Height = 23 + Left = 532 + MaxLength = 2 + ReadOnly = .T. + TabIndex = 8 + Top = 164 + Width = 38 + ForeColor = 0,0,255 + DisabledForeColor = 0,0,160 + ZOrderSet = 9 + Name = "txtCalific" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__lblCalific + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('label') + lcParent = 'Cl_form1' + lcObjName = 'lblCalific' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + AutoSize = .T. + WordWrap = .T. + BackStyle = 0 + Caption = "Calific" + Left = 491 + Top = 164 + Width = 34 + TabIndex = 7 + ZOrderSet = 10 + Name = "lblCalific" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__lblCalific + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1' + lcObjName = 'txtFecha' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Comment = "" + ControlSource = "encuestas.fecha" + Height = 23 + Left = 532 + ReadOnly = .T. + TabIndex = 10 + Top = 192 + Width = 73 + ForeColor = 0,0,255 + DisabledForeColor = 0,0,160 + ZOrderSet = 11 + Name = "txtFecha" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__lblFecha + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('label') + lcParent = 'Cl_form1' + lcObjName = 'lblFecha' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + AutoSize = .T. + WordWrap = .T. + BackStyle = 0 + Caption = "Fecha" + Left = 491 + Top = 192 + Width = 34 + TabIndex = 9 + ZOrderSet = 12 + Name = "lblFecha" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__txtResultado + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1' + lcObjName = 'txtResultado' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Comment = "" + ControlSource = "encuestas.resultado" + Height = 23 + Left = 532 + MaxLength = 10 + ReadOnly = .T. + TabIndex = 12 + Top = 220 + Width = 81 + ForeColor = 0,0,255 + DisabledForeColor = 0,0,160 + ZOrderSet = 13 + Name = "txtResultado" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__lblResultado + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('label') + lcParent = 'Cl_form1' + lcObjName = 'lblResultado' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + AutoSize = .T. + WordWrap = .T. + BackStyle = 0 + Caption = "Resultado" + Left = 472 + Top = 220 + Width = 57 + TabIndex = 11 + ZOrderSet = 14 + Name = "lblResultado" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1__grdEncuestas + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('grid') + lcParent = 'Cl_form1' + lcObjName = 'grdEncuestas' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + ColumnCount = 5 + DeleteMark = .F. + Height = 140 + Left = 268 + Panel = 1 + ReadOnly = .T. + RecordSource = "encuestas" + RecordSourceType = 1 + Top = 12 + Width = 320 + ZOrderSet = 15 + Name = "grdEncuestas" + Column1.ControlSource = "encuestas.promotor" + Column1.Width = 58 + Column1.ReadOnly = .T. + Column1.Name = "Column1" + Column2.ControlSource = "encuestas.idenc" + Column2.Width = 46 + Column2.ReadOnly = .T. + Column2.Name = "Column2" + Column3.ControlSource = "encuestas.calific" + Column3.Width = 41 + Column3.ReadOnly = .T. + Column3.Name = "Column3" + Column4.ControlSource = "encuestas.fecha" + Column4.Width = 69 + Column4.ReadOnly = .T. + Column4.Name = "Column4" + Column5.ControlSource = "encuestas.resultado" + Column5.Width = 58 + Column5.ReadOnly = .T. + Column5.Name = "Column5" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column1__Header1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('header') + lcParent = 'Cl_form1.grdEncuestas.Column1' + lcObjName = 'Header1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Caption = "promotor" + Name = "Header1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column1__Text1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1.grdEncuestas.Column1' + lcObjName = 'Text1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + BorderStyle = 0 + Margin = 0 + ReadOnly = .T. + ForeColor = 0,0,0 + BackColor = 255,255,255 + Name = "Text1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column2__Header1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('header') + lcParent = 'Cl_form1.grdEncuestas.Column2' + lcObjName = 'Header1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Caption = "idenc" + Name = "Header1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column2__Text1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1.grdEncuestas.Column2' + lcObjName = 'Text1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + BorderStyle = 0 + Margin = 0 + ReadOnly = .T. + ForeColor = 0,0,0 + BackColor = 255,255,255 + Name = "Text1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column3__Header1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('header') + lcParent = 'Cl_form1.grdEncuestas.Column3' + lcObjName = 'Header1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Caption = "calific" + Name = "Header1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column3__Text1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1.grdEncuestas.Column3' + lcObjName = 'Text1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + BorderStyle = 0 + Margin = 0 + ReadOnly = .T. + ForeColor = 0,0,0 + BackColor = 255,255,255 + Name = "Text1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column4__Header1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('header') + lcParent = 'Cl_form1.grdEncuestas.Column4' + lcObjName = 'Header1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Caption = "fecha" + Name = "Header1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column4__Text1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1.grdEncuestas.Column4' + lcObjName = 'Text1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + BorderStyle = 0 + Margin = 0 + ReadOnly = .T. + ForeColor = 0,0,0 + BackColor = 255,255,255 + Name = "Text1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column5__Header1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('header') + lcParent = 'Cl_form1.grdEncuestas.Column5' + lcObjName = 'Header1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Caption = "resultado" + Name = "Header1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1_grdEncuestas_Column5__Text1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('textbox') + lcParent = 'Cl_form1.grdEncuestas.Column5' + lcObjName = 'Text1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + BorderStyle = 0 + Margin = 0 + ReadOnly = .T. + ForeColor = 0,0,0 + BackColor = 255,255,255 + Name = "Text1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1___Commandgroup1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('commandgroup') + lcParent = 'Cl_form1' + lcObjName = 'Commandgroup1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + ButtonCount = 2 + Value = 1 + Height = 76 + Left = 8 + Top = 172 + Width = 244 + BackColor = 255,128,255 + ZOrderSet = 16 + Name = "Commandgroup1" + Command1.Top = 8 + Command1.Left = 12 + Command1.Height = 56 + Command1.Width = 100 + Command1.Picture = bmps\carpetaabierta.bmp + Command1.Caption = "\ 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1___Optiongroup1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('Optiongroup') + lcParent = 'Cl_form1' + lcObjName = 'Optiongroup1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + ButtonCount = 2 + Value = 2 + Height = 72 + Left = 8 + Top = 256 + Width = 244 + BackColor = 0,128,255 + ZOrderSet = 17 + Name = "Optiongroup1" + Option1.Picture = bmps\scccheckout.bmp + Option1.Caption = "Option1" + Option1.Value = 0 + Option1.Height = 48 + Option1.Left = 16 + Option1.Style = 1 + Option1.Top = 12 + Option1.Width = 92 + Option1.Name = "Option1" + Option2.Picture = bmps\scccheckout.bmp + Option2.Caption = "Option2" + Option2.Value = 1 + Option2.Height = 48 + Option2.Left = 132 + Option2.Style = 1 + Option2.Top = 12 + Option2.Width = 88 + Option2.Name = "Option2" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarElCampo_PROPERTIES_ParaElObjeto__Cl_form1___Cl_olecontrol1 + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ; + , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; + , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , lcParent, lcClass, lcObjName, lcMemo, loReg, loReg_Esperado ; + , loEx AS EXCEPTION + + loEx = NULL + oFXU_LIB.copiarArchivosParaTest( 'FB2P_FRM_1.SC?' ) + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_InputFile = 'TESTS\DATOS_TEST\fb2p_frm_1.scx' + lcDontShowErrors = '1' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + loReg_Esperado = CREATEOBJECT("EMPTY") + + *-- Reserved1 + ADDPROPERTY( loReg_Esperado, 'Reserved1', '' ) + *-- Reserved2 + ADDPROPERTY( loReg_Esperado, 'Reserved2', '' ) + *-- Reserved3 + ADDPROPERTY( loReg_Esperado, 'Reserved3', '' ) + *-- Reserved4 + ADDPROPERTY( loReg_Esperado, 'Reserved4', '' ) + *-- Reserved5 + ADDPROPERTY( loReg_Esperado, 'Reserved5', '' ) + *-- Reserved6 + ADDPROPERTY( loReg_Esperado, 'Reserved6', '' ) + *-- Reserved7 + ADDPROPERTY( loReg_Esperado, 'Reserved7', '' ) + *-- Reserved8 + ADDPROPERTY( loReg_Esperado, 'Reserved8', '' ) + *-- Properties + ADDPROPERTY( loReg_Esperado, 'Properties', '' ) + *-- Protected + ADDPROPERTY( loReg_Esperado, 'Protected', '' ) + *-- Methods + ADDPROPERTY( loReg_Esperado, 'Methods', '' ) + + lcClass = LOWER('Cl_olecontrol') + lcParent = 'Cl_form1' + lcObjName = 'Cl_olecontrol1' + + TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + Top = 256 + Left = 484 + Height = 67 + Width = 131 + Name = "Cl_olecontrol1" + ENDTEXT + + lnPropsAndValues_Count_Esperado = ALINES( laProps, lcMemo, 1+4 ) + DIMENSION laPropsAndValues_Esperado(lnPropsAndValues_Count_Esperado,2) + + FOR I = 1 TO lnPropsAndValues_Count_Esperado + loObj.get_SeparatedPropAndValue( laProps(I), @lcProp, @lcValue ) + laPropsAndValues_Esperado(I,1) = lcProp + laPropsAndValues_Esperado(I,2) = lcValue + ENDFOR + + + *-- TEST + TRY + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.l_Debug = .F. + loCnv.l_ShowErrors = .F. + *loCnv.l_Test = .T. + lnCodError = loCnv.Convertir( lc_InputFile, @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + lnCodError = loCnv.Convertir( FORCEEXT(lc_InputFile,'SC2'), @loModulo, @loEx ) + IF lnCodError > 0 + EXIT + ENDIF + + IF FILE(lc_InputFile) + USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN + ELSE + ERROR 'No se encontró el archivo "' + lc_InputFile + '"' + ENDIF + + LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName + IF NOT FOUND() + ERROR 'No se encontró el registro buscado' + ENDIF + SCATTER MEMO NAME loReg + USE IN (SELECT("TABLABIN")) + + CATCH TO loEx + ENDTRY + + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, lcParent, lcClass, lcObjName, loReg, loReg_Esperado ) + + ENDFUNC + + +ENDDEFINE diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__GetTimeStamp.prg b/TESTS/ut__foxbin2prg__c_conversor_base__GetTimeStamp.prg new file mode 100644 index 0000000..8def1ab --- /dev/null +++ b/TESTS/ut__foxbin2prg__c_conversor_base__GetTimeStamp.prg @@ -0,0 +1,266 @@ +DEFINE CLASS ut__foxbin2prg__c_conversor_base__GetTimeStamp AS FxuTestCase OF FxuTestCase.prg + + #IF .F. + LOCAL THIS AS ut__foxbin2prg__c_conversor_base__GetTimeStamp OF ut__foxbin2prg__c_conversor_base__GetTimeStamp.PRG + #ENDIF + + #DEFINE C_FB2P_VALUE_I '' + #DEFINE C_FB2P_VALUE_F '' + #DEFINE CR_LF CHR(13) + CHR(10) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE C_TAB CHR(9) + #DEFINE C_PROC 'PROCEDURE' + #DEFINE C_ENDPROC 'ENDPROC' + #DEFINE C_TEXT 'TEXT' + #DEFINE C_ENDTEXT 'ENDTEXT' + #DEFINE C_IF_F '#IF .F.' + #DEFINE C_ENDIF '#ENDIF' + #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' + #DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE' + icObj = NULL + + + ******************************************************************************************************************************************* + FUNCTION SETUP + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') + oFXU_LIB.setup_comun() + + THIS.icObj = NEWOBJECT("c_conversor_base", "FOXBIN2PRG.PRG") + loObj = THIS.icObj + loObj.l_Test = .T. + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION TearDown + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + THIS.icObj = NULL + + IF VARTYPE(oFXU_LIB) = "O" + oFXU_LIB.teardown_comun() + oFXU_LIB = NULL + ENDIF + RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Evaluate_results + LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado + + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + IF ISNULL(toEx) + + *-- Visualización de valores + THIS.messageout( ' TimeStamp (T) = ' + TRANSFORM(ltTimeStamp) ) + THIS.messageout( ' TimeStamp (N) = ' + TRANSFORM(lnTimeStamp) ) + + + *-- Evaluación de valores + THIS.assertequals( ltTimeStamp_Esperado, ltTimeStamp, "[Fecha y Hora]" ) + + ELSE + *-- Evaluación de errores + THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) ) + THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) ) + THIS.messageout( TRANSFORM(toEx.LINECONTENTS) ) + + THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' ) + ENDIF + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverLaFechaHora_2013_12_01_08_02_00_ParaElValor_1132544064 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lnTimeStamp = 1132544064 && Corresponde a {^2013/12/01 8:02:00} + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + ltTimeStamp_Esperado = TTOC({^2013/12/01 8:02:00}) + + *-- TEST + ltTimeStamp = loObj.gettimestamp( lnTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverLaFechaHora_2013_12_01_08_02_01_ParaElValor_1132544065 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lnTimeStamp = 1132544065 && Corresponde a {^2013/12/01 8:02:01} + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + ltTimeStamp_Esperado = TTOC({^2013/12/01 8:02:01}) + + *-- TEST + ltTimeStamp = loObj.gettimestamp( lnTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverLaFechaHora_2013_12_01_08_02_30_ParaElValor_1132544094 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lnTimeStamp = 1132544094 && Corresponde a {^2013/12/01 8:02:30} + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + ltTimeStamp_Esperado = TTOC({^2013/12/01 8:02:30}) + + *-- TEST + ltTimeStamp = loObj.gettimestamp( lnTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverLaFechaHora_2013_12_01_08_02_31_ParaElValor_1132544095 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lnTimeStamp = 1132544095 && Corresponde a {^2013/12/01 8:02:31} + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + ltTimeStamp_Esperado = TTOC({^2013/12/01 8:02:31}) + + *-- TEST + ltTimeStamp = loObj.gettimestamp( lnTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverLaFechaHora_2013_12_01_08_03_00_ParaElValor_1132544096 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lnTimeStamp = 1132544096 && Corresponde a {^2013/12/01 8:02:32} + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + ltTimeStamp_Esperado = TTOC({^2013/12/01 8:03:00}) + + *-- TEST + ltTimeStamp = loObj.gettimestamp( lnTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverLaFechaHora_2013_12_01_08_03_01_ParaElValor_1132544097 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lnTimeStamp = 1132544097 && Corresponde a {^2013/12/01 8:02:33} + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + ltTimeStamp_Esperado = TTOC({^2013/12/01 8:03:01}) + + *-- TEST + ltTimeStamp = loObj.gettimestamp( lnTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverLaFechaHora_2013_12_01_08_03_27_ParaElValor_1132544123__HoraReal__08_02_59 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lnTimeStamp = 1132544123 && Corresponde a {^2013/12/01 8:02:59} + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + ltTimeStamp_Esperado = TTOC({^2013/12/01 8:03:27}) + + *-- TEST + ltTimeStamp = loObj.gettimestamp( lnTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + +ENDDEFINE diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__RowTimeStamp.prg b/TESTS/ut__foxbin2prg__c_conversor_base__RowTimeStamp.prg new file mode 100644 index 0000000..f4732f0 --- /dev/null +++ b/TESTS/ut__foxbin2prg__c_conversor_base__RowTimeStamp.prg @@ -0,0 +1,325 @@ +DEFINE CLASS ut__foxbin2prg__c_conversor_base__RowTimeStamp AS FxuTestCase OF FxuTestCase.prg + + #IF .F. + LOCAL THIS AS ut__foxbin2prg__c_conversor_base__RowTimeStamp OF ut__foxbin2prg__c_conversor_base__RowTimeStamp.PRG + #ENDIF + + #DEFINE C_FB2P_VALUE_I '' + #DEFINE C_FB2P_VALUE_F '' + #DEFINE CR_LF CHR(13) + CHR(10) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE C_TAB CHR(9) + #DEFINE C_PROC 'PROCEDURE' + #DEFINE C_ENDPROC 'ENDPROC' + #DEFINE C_TEXT 'TEXT' + #DEFINE C_ENDTEXT 'ENDTEXT' + #DEFINE C_IF_F '#IF .F.' + #DEFINE C_ENDIF '#ENDIF' + #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' + #DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE' + icObj = NULL + + + ******************************************************************************************************************************************* + FUNCTION SETUP + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') + oFXU_LIB.setup_comun() + + THIS.icObj = NEWOBJECT("c_conversor_base", "FOXBIN2PRG.PRG") + loObj = THIS.icObj + loObj.l_Test = .T. + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION TearDown + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + THIS.icObj = NULL + + IF VARTYPE(oFXU_LIB) = "O" + oFXU_LIB.teardown_comun() + oFXU_LIB = NULL + ENDIF + RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Evaluate_results + LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado + + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + IF ISNULL(toEx) + + *-- Visualización de valores + THIS.messageout( ' TimeStamp (T) = ' + TRANSFORM(ltTimeStamp) ) + THIS.messageout( ' TimeStamp (N) = ' + TRANSFORM(lnTimeStamp) ) + + + *-- Evaluación de valores + THIS.assertequals( lnTimeStamp_Esperado, lnTimeStamp, "[Valor de TimeStamp]" ) + + ELSE + *-- Evaluación de errores + THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) ) + THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) ) + THIS.messageout( TRANSFORM(toEx.LINECONTENTS) ) + + THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' ) + ENDIF + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544064_ParaLaFechaHora_2013_12_01_08_02_00 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:02:00} && Le corresponde el numero 1132544064 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544064 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544065_ParaLaFechaHora_2013_12_01_08_02_01 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:02:01} && Le corresponde el numero 1132544065 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544065 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544095_ParaLaFechaHora_2013_12_01_08_02_31 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:02:31} && Le corresponde el numero 1132544095 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544095 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544096_ParaLaFechaHora_2013_12_01_08_02_32 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:02:32} && Le corresponde el numero 1132544096 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544096 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544097_ParaLaFechaHora_2013_12_01_08_02_33 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:02:33} && Le corresponde el numero 1132544097 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544097 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp-1 ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544123_ParaLaFechaHora_2013_12_01_08_02_59 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:02:59} && Le corresponde el numero 1132544123 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544123 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544096_ParaLaFechaHora_2013_12_01_08_03_00 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:03:00} && Le corresponde el numero 1132544096 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544096 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544097_ParaLaFechaHora_2013_12_01_08_03_01 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:03:01} && Le corresponde el numero 1132544097 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544097 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp-1 ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverElValor_1132544123_ParaLaFechaHora_2013_12_01_08_03_27 + LOCAL lnCodError, lnCodError_Esperado ; + , ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + ltTimeStamp = {^2013/12/01 8:03:27} && Le corresponde el numero 1132544123 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lnTimeStamp_Esperado = 1132544123 + *lnTimeStamp_Esperado = loObj.rowtimestamp( ltTimeStamp ) + + *-- TEST + lnTimeStamp = loObj.rowtimestamp( ltTimeStamp ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, ltTimeStamp, ltTimeStamp_Esperado, lnTimeStamp, lnTimeStamp_Esperado ) + + ENDFUNC + + +ENDDEFINE diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__get_SeparatedPropAndValue.prg b/TESTS/ut__foxbin2prg__c_conversor_base__get_SeparatedPropAndValue.prg new file mode 100644 index 0000000..69798d8 --- /dev/null +++ b/TESTS/ut__foxbin2prg__c_conversor_base__get_SeparatedPropAndValue.prg @@ -0,0 +1,127 @@ +DEFINE CLASS ut__foxbin2prg__c_conversor_base__get_SeparatedPropAndValue AS FxuTestCase OF FxuTestCase.prg + + #IF .F. + LOCAL THIS AS ut__foxbin2prg__c_conversor_base__get_SeparatedPropAndValue OF ut__foxbin2prg__c_conversor_base__get_SeparatedPropAndValue.PRG + #ENDIF + + #DEFINE C_FB2P_VALUE_I '' + #DEFINE C_FB2P_VALUE_F '' + #DEFINE CR_LF CHR(13) + CHR(10) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE C_TAB CHR(9) + #DEFINE C_PROC 'PROCEDURE' + #DEFINE C_ENDPROC 'ENDPROC' + #DEFINE C_TEXT 'TEXT' + #DEFINE C_ENDTEXT 'ENDTEXT' + #DEFINE C_IF_F '#IF .F.' + #DEFINE C_ENDIF '#ENDIF' + #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' + #DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE' + icObj = NULL + + + ******************************************************************************************************************************************* + FUNCTION SETUP + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') + oFXU_LIB.setup_comun() + + THIS.icObj = NEWOBJECT("c_conversor_base", "FOXBIN2PRG.PRG") + loObj = THIS.icObj + loObj.l_Test = .T. + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION TearDown + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + THIS.icObj = NULL + + IF VARTYPE(oFXU_LIB) = "O" + oFXU_LIB.teardown_comun() + oFXU_LIB = NULL + ENDIF + RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Evaluate_results + LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado ; + , tcPropName, tcPropValue, tcComentario, tcPropName_Esperado, tcPropValue_Esperado + + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + IF ISNULL(toEx) + *-- Algunos ajustes para mejor visualización de caracteres especiales + tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue ) + tcPropValue_Esperado = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue_Esperado ) + + + *-- Visualización de valores + THIS.messageout( ' PropName = ' + TRANSFORM(tcPropName) ) + THIS.messageout( ' PropValue = ' + TRANSFORM(tcPropValue) ) + + + *-- Evaluación de valores + THIS.assertequals( tcPropName_Esperado, tcPropName, "PropsAndValues_Count" ) + THIS.assertequals( tcPropValue_Esperado, tcPropValue, "PropsAndValues_Count" ) + + ELSE + *-- Evaluación de errores + THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) ) + THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) ) + THIS.messageout( TRANSFORM(toEx.LINECONTENTS) ) + + THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' ) + ENDIF + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_DevolverSeparados_Prop_y_Value + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , laProps(1,2) ,lcPropName, lcPropValue, lcComentario, lcPropName_Esperado, lcPropValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcPropName = '_memberdata' + lcPropValue = '' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + laProps( 1,1) = 'prop_especial_cr = Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3' + laProps( 1,2) = '' + lcPropName_Esperado = 'prop_especial_cr' + lcPropValue_Esperado = 'Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3' + + *-- TEST + loObj.get_SeparatedPropAndValue( laProps(1,1), @lcPropName, @lcPropValue ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @lcComentario, @lcPropName_Esperado, @lcPropValue_Esperado ) + + ENDFUNC + + +ENDDEFINE diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.prg b/TESTS/ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.prg new file mode 100644 index 0000000..774d812 --- /dev/null +++ b/TESTS/ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.prg @@ -0,0 +1,235 @@ +DEFINE CLASS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad AS FxuTestCase OF FxuTestCase.prg + + #IF .F. + LOCAL THIS AS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad OF ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.PRG + #ENDIF + + #DEFINE C_FB2P_VALUE_I '' + #DEFINE C_FB2P_VALUE_F '' + #DEFINE CR_LF CHR(13) + CHR(10) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE C_TAB CHR(9) + #DEFINE C_PROC 'PROCEDURE' + #DEFINE C_ENDPROC 'ENDPROC' + #DEFINE C_TEXT 'TEXT' + #DEFINE C_ENDTEXT 'ENDTEXT' + #DEFINE C_IF_F '#IF .F.' + #DEFINE C_ENDIF '#ENDIF' + #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' + #DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE' + icObj = NULL + + + ******************************************************************************************************************************************* + FUNCTION SETUP + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') + oFXU_LIB.setup_comun() + + THIS.icObj = NEWOBJECT("c_conversor_base", "FOXBIN2PRG.PRG") + loObj = THIS.icObj + loObj.l_Test = .T. + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION TearDown + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + THIS.icObj = NULL + + IF VARTYPE(oFXU_LIB) = "O" + oFXU_LIB.teardown_comun() + oFXU_LIB = NULL + ENDIF + RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Evaluate_results + LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado ; + , tcPropName, tcPropValue, tcComentario, tcPropValue_Esperado + + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + IF ISNULL(toEx) + *-- Algunos ajustes para mejor visualización de caracteres especiales + tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue ) + tcPropValue_Esperado = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue_Esperado ) + + + *-- Visualización de valores + THIS.messageout( ' PropName = ' + TRANSFORM(tcPropName) ) + THIS.messageout( ' PropValue = ' + TRANSFORM(tcPropValue) ) + + + *-- Evaluación de valores + THIS.assertequals( tcPropValue_Esperado, tcPropValue, "PropsAndValues_Count" ) + + ELSE + *-- Evaluación de errores + THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) ) + THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) ) + THIS.messageout( TRANSFORM(toEx.LINECONTENTS) ) + + THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' ) + ENDIF + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_normalizarLaPropiedad_memberdata_separandoLosMiembrosPorLinea_ConLosTags_VFPData_PorFuera + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lcPropName, lcPropValue, lcComentario, lcPropValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcPropName = '_memberdata' + lcPropValue = '' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + TEXT TO lcPropValue_Esperado TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 + + <><> + <><> + ENDTEXT + + *-- TEST + loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_normalizarUnaPropiedadCon_CR__AgregandoLosTags_fb2p_value_PorFueraYCodificandoLos_CR + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lcPropName, lcPropValue, lcComentario, lcPropValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcPropName = 'unaPropiedadCon_CR' + lcPropValue = C_FB2P_VALUE_I + 'valor 1' + C_CR + 'valor 2' + C_CR + 'valor 3' + C_FB2P_VALUE_F + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lcPropValue_Esperado = C_FB2P_VALUE_I + 'valor 1 valor 2 valor 3' + C_FB2P_VALUE_F + + *-- TEST + loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_normalizarUnaPropiedadCon_CRLF__AgregandoLosTags_fb2p_value_PorFueraYSinCodificarLos_CRLF + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lcPropName, lcPropValue, lcComentario, lcPropValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcPropName = 'unaPropiedadCon_CR' + lcPropValue = C_FB2P_VALUE_I + 'valor 1' + CR_LF + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lcPropValue_Esperado = C_FB2P_VALUE_I + 'valor 1' + CR_LF + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F + + *-- TEST + loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_normalizarUnaPropiedadCon_CR_y_CRLF_mixta__AgregandoLosTags_fb2p_value_PorFueraCodificandoLos_CR_yMantneiendoLos_CRLF + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lcPropName, lcPropValue, lcComentario, lcPropValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcPropName = 'unaPropiedadCon_CR' + lcPropValue = C_FB2P_VALUE_I + 'valor 1' + C_CR + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lcPropValue_Esperado = C_FB2P_VALUE_I + 'valor 1' + ' ' + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F + + *-- TEST + loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_normalizarUnaPropiedadCon_LF_y_CRLF_mixta__AgregandoLosTags_fb2p_value_PorFueraCodificandoLos_LF_yMantneiendoLos_CRLF + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lcPropName, lcPropValue, lcComentario, lcPropValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcPropName = 'unaPropiedadCon_CR' + lcPropValue = C_FB2P_VALUE_I + 'valor 1' + C_LF + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lcPropValue_Esperado = C_FB2P_VALUE_I + 'valor 1' + ' ' + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F + + *-- TEST + loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) + + ENDFUNC + + +ENDDEFINE diff --git a/TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__get_PropsAndValuesFrom_PROPERTIES.prg b/TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__get_PropsAndValuesFrom_PROPERTIES.prg new file mode 100644 index 0000000..46841c3 --- /dev/null +++ b/TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__get_PropsAndValuesFrom_PROPERTIES.prg @@ -0,0 +1,296 @@ +DEFINE CLASS ut__foxbin2prg__c_conversor_bin_a_prg__get_PropsAndValuesFrom_PROPERTIES AS FxuTestCase OF FxuTestCase.prg + + #IF .F. + LOCAL THIS AS ut__foxbin2prg__c_conversor_bin_a_prg__get_PropsAndValuesFrom_PROPERTIES OF ut__foxbin2prg__c_conversor_bin_a_prg__get_PropsAndValuesFrom_PROPERTIES.PRG + #ENDIF + + #DEFINE C_FB2P_VALUE_I '' + #DEFINE C_FB2P_VALUE_F '' + #DEFINE CR_LF CHR(13) + CHR(10) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE C_TAB CHR(9) + #DEFINE C_PROC 'PROCEDURE' + #DEFINE C_ENDPROC 'ENDPROC' + #DEFINE C_TEXT 'TEXT' + #DEFINE C_ENDTEXT 'ENDTEXT' + #DEFINE C_IF_F '#IF .F.' + #DEFINE C_ENDIF '#ENDIF' + #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' + #DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE' + icObj = NULL + + + ******************************************************************************************************************************************* + FUNCTION SETUP + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') + oFXU_LIB.setup_comun() + + THIS.icObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG") + loObj = THIS.icObj + loObj.l_Test = .T. + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION TearDown + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + THIS.icObj = NULL + + IF VARTYPE(oFXU_LIB) = "O" + oFXU_LIB.teardown_comun() + oFXU_LIB = NULL + ENDIF + RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Evaluate_results + LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado ; + , tcMemo, tnSort, taPropsAndValues, tnPropsAndValues_Count, tcSortedMemo ; + , taPropsAndValues_Esperado, tnPropsAndValues_Count_Esperado, tcMemo_Esperado + + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + IF ISNULL(toEx) + *-- Algunos ajustes para mejor visualización de caracteres especiales + tcSortedMemo = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcSortedMemo ) + tcMemo_Esperado = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcMemo_Esperado ) + FOR I = 1 TO tnPropsAndValues_Count + taPropsAndValues(I,2) = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( TRANSFORM(taPropsAndValues(I,2)) ) + ENDFOR + FOR I = 1 TO tnPropsAndValues_Count_Esperado + taPropsAndValues_Esperado(I,2) = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( TRANSFORM(taPropsAndValues_Esperado(I,2)) ) + ENDFOR + + + *-- Visualización de valores + THIS.messageout( ' Sort = ' + TRANSFORM(tnSort) ) + THIS.messageout( REPLICATE('-',50) ) + FOR I = 1 TO tnPropsAndValues_Count + THIS.messageout( "taPropsAndValues(" + STR(I,3) + '): ' ; + + TRANSFORM(taPropsAndValues(I,1)) + ' = ' + TRANSFORM(taPropsAndValues(I,2)) + '' ) + ENDFOR + THIS.messageout( REPLICATE('-',50) ) + FOR I = 1 TO tnPropsAndValues_Count_Esperado + THIS.messageout( "taPropsAndValues_Esp(" + STR(I,3) + '): ' ; + + TRANSFORM(taPropsAndValues_Esperado(I,1)) + ' = ' + TRANSFORM(taPropsAndValues_Esperado(I,2)) + '' ) + ENDFOR + THIS.messageout( REPLICATE('-',50) ) + THIS.messageout( 'Sorted Memo: [' + tcSortedMemo + ']' ) + + + *-- Evaluación de valores + THIS.assertequals( tnPropsAndValues_Count_Esperado, tnPropsAndValues_Count, "PropsAndValues_Count" ) + + FOR I = 1 TO MIN(tnPropsAndValues_Count, tnPropsAndValues_Count_Esperado) + THIS.assertequals( taPropsAndValues_Esperado(I,1), taPropsAndValues(I,1), "PropAndValue" ) + ENDFOR + + THIS.assertequals( tcMemo_Esperado, tcSortedMemo, "Memo" ) + + ELSE + *-- Evaluación de errores + THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) ) + THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) ) + THIS.messageout( TRANSFORM(toEx.LINECONTENTS) ) + + THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' ) + ENDIF + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_evaluarUnMemo_PROPERTIES_yDevolverUnArrayConLasPropsOrdenadas_PrimeroLasNormalesYLuegoLasDeObjeto_Sorted + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lnSort, laPropsAndValues(1,2), lnPropsAndValues_Count, lcMemo, lcSortedMemo ; + , laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado, lcMemo_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + + TEXT TO lcMemo TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 + Height = 2.73 + Width = 27.40 + prop1 = .F. + _memberdata = + prop_especial_cr = <> 57Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3 + prop_especial_crlf = <> 35El valor 1 + El valor 2 + Y el 3! + <> + Name = "c1" + Page2.Caption = "Page2" + Page1.Name = "Page1" + ENDTEXT + + lcMemo = STRTRAN( STRTRAN( lcMemo, ' ', CHR(13) ), ' ', CHR(10) ) + lnSort = 1 + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + DIMENSION laPropsAndValues_Esperado(9,2) + laPropsAndValues_Esperado = '' + laPropsAndValues_Esperado( 1,1) = 'Height' + laPropsAndValues_Esperado( 1,2) = '2.73' + laPropsAndValues_Esperado( 2,1) = 'Name' + laPropsAndValues_Esperado( 2,2) = '"c1"' + laPropsAndValues_Esperado( 3,1) = 'prop1' + laPropsAndValues_Esperado( 3,2) = '.F.' + laPropsAndValues_Esperado( 4,1) = 'prop_especial_cr' + laPropsAndValues_Esperado( 4,2) = 'Este es el valor 1' + CHR(13) + 'Este el 2' + CHR(13) + 'Y este bajo Shift_Enter el 3' + laPropsAndValues_Esperado( 5,1) = 'prop_especial_crlf' + laPropsAndValues_Esperado( 5,2) = 'El valor 1' + CHR(13) + CHR(10) ; + + 'El valor 2' + CHR(13) + CHR(10) + 'Y el 3!' + CHR(13) + CHR(10) + SPACE(2) + laPropsAndValues_Esperado( 6,1) = 'Width' + laPropsAndValues_Esperado( 6,2) = '27.40' + laPropsAndValues_Esperado( 7,1) = '_memberdata' + laPropsAndValues_Esperado( 7,2) = '' + laPropsAndValues_Esperado( 8,1) = 'Page1.Name' + laPropsAndValues_Esperado( 8,2) = '"Page1"' + laPropsAndValues_Esperado( 9,1) = 'Page2.Caption' + laPropsAndValues_Esperado( 9,2) = '"Page2"' + lnPropsAndValues_Count_Esperado = 9 + + TEXT TO lcMemo_Esperado TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 + Height = 2.73 + Name = "c1" + prop1 = .F. + prop_especial_cr = Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3 + prop_especial_crlf = + El valor 1 + El valor 2 + Y el 3! + <> + + Width = 27.40 + _memberdata = + <<>> + <<>> + Page1.Name = "Page1" + Page2.Caption = "Page2" + + ENDTEXT + + + *-- TEST + loObj.get_PropsAndValuesFrom_PROPERTIES( @lcMemo, lnSort, @laPropsAndValues, @lnPropsAndValues_Count, @lcSortedMemo ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcMemo, lnSort, @laPropsAndValues, @lnPropsAndValues_Count, @lcSortedMemo ; + , @laPropsAndValues_Esperado, @lnPropsAndValues_Count_Esperado, @lcMemo_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_evaluarUnMemo_PROPERTIES_yDevolverUnArrayConLasPropsSinOrdenar_PrimeroLasNormalesYLuegoLasDeObjeto + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lnSort, laPropsAndValues(1,2), lnPropsAndValues_Count, lcMemo, lcSortedMemo ; + , laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado, lcMemo_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + + TEXT TO lcMemo TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 + Height = 2.73 + Width = 27.40 + prop1 = .F. + _memberdata = + prop_especial_cr = <> 57Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3 + prop_especial_crlf = <> 35El valor 1 + El valor 2 + Y el 3! + <> + Name = "c1" + Page2.Caption = "Page2" + Page1.Name = "Page1" + ENDTEXT + + lcMemo = STRTRAN( STRTRAN( lcMemo, ' ', CHR(13) ), ' ', CHR(10) ) + lnSort = 0 + + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + DIMENSION laPropsAndValues_Esperado(9,2) + laPropsAndValues_Esperado = '' + laPropsAndValues_Esperado( 1,1) = 'Height' + laPropsAndValues_Esperado( 1,2) = '2.73' + laPropsAndValues_Esperado( 2,1) = 'Width' + laPropsAndValues_Esperado( 2,2) = '27.40' + laPropsAndValues_Esperado( 3,1) = 'prop1' + laPropsAndValues_Esperado( 3,2) = '.F.' + laPropsAndValues_Esperado( 4,1) = '_memberdata' + laPropsAndValues_Esperado( 4,2) = '' + laPropsAndValues_Esperado( 5,1) = 'prop_especial_cr' + laPropsAndValues_Esperado( 5,2) = 'Este es el valor 1' + C_CR + 'Este el 2' + C_LF + 'Y este bajo Shift_Enter el 3' + laPropsAndValues_Esperado( 6,1) = 'prop_especial_crlf' + laPropsAndValues_Esperado( 6,2) = 'El valor 1' + CR_LF ; + + 'El valor 2' + CR_LF + 'Y el 3!' + CR_LF + SPACE(2) + laPropsAndValues_Esperado( 7,1) = 'Name' + laPropsAndValues_Esperado( 7,2) = '"c1"' + laPropsAndValues_Esperado( 8,1) = 'Page2.Caption' + laPropsAndValues_Esperado( 8,2) = '"Page2"' + laPropsAndValues_Esperado( 9,1) = 'Page1.Name' + laPropsAndValues_Esperado( 9,2) = '"Page1"' + lnPropsAndValues_Count_Esperado = 9 + + TEXT TO lcMemo_Esperado TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 + Height = 2.73 + Width = 27.40 + prop1 = .F. + _memberdata = + <<>> + <<>> + prop_especial_cr = Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3 + prop_especial_crlf = + El valor 1 + El valor 2 + Y el 3! + <> + + Name = "c1" + Page2.Caption = "Page2" + Page1.Name = "Page1" + + ENDTEXT + + + *-- TEST + loObj.get_PropsAndValuesFrom_PROPERTIES( @lcMemo, lnSort, @laPropsAndValues, @lnPropsAndValues_Count, @lcSortedMemo ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcMemo, lnSort, @laPropsAndValues, @lnPropsAndValues_Count, @lcSortedMemo ; + , @laPropsAndValues_Esperado, @lnPropsAndValues_Count_Esperado, @lcMemo_Esperado ) + + ENDFUNC + + +ENDDEFINE diff --git a/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg b/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg new file mode 100644 index 0000000..e234e3c --- /dev/null +++ b/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg @@ -0,0 +1,300 @@ +DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado AS FxuTestCase OF FxuTestCase.prg + + #IF .F. + LOCAL THIS AS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado OF ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.PRG + #ENDIF + + #DEFINE C_FB2P_VALUE_I '' + #DEFINE C_FB2P_VALUE_F '' + #DEFINE CR_LF CHR(13) + CHR(10) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE C_TAB CHR(9) + #DEFINE C_PROC 'PROCEDURE' + #DEFINE C_ENDPROC 'ENDPROC' + #DEFINE C_TEXT 'TEXT' + #DEFINE C_ENDTEXT 'ENDTEXT' + #DEFINE C_IF_F '#IF .F.' + #DEFINE C_ENDIF '#ENDIF' + #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' + #DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE' + icObj = NULL + + + ******************************************************************************************************************************************* + FUNCTION SETUP + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') + oFXU_LIB.setup_comun() + + THIS.icObj = NEWOBJECT("c_conversor_prg_a_bin", "FOXBIN2PRG.PRG") + loObj = THIS.icObj + loObj.l_Test = .T. + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION TearDown + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + THIS.icObj = NULL + + IF VARTYPE(oFXU_LIB) = "O" + oFXU_LIB.teardown_comun() + oFXU_LIB = NULL + ENDIF + RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Evaluate_results + LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado ; + , tcPropName, tcPropValue, taProps, tnProp_Count ; + , I, tcTag_I, tcTag_F, tnLen_lcTag_I, tnLen_lcTag_F, tcMemo, tcValue_Esperado + + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + IF ISNULL(toEx) + *-- Algunos ajustes para mejor visualización de caracteres especiales + tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue ) + tcValue_Esperado = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcValue_Esperado ) + + + *-- Visualización de valores + THIS.messageout( ' Value = ' + TRANSFORM(tcPropValue) ) + THIS.messageout( ' Value_Esperado = ' + TRANSFORM(tcValue_Esperado) ) + + + *-- Evaluación de valores + THIS.assertequals( tcValue_Esperado, tcPropValue, "Valor devuelto" ) + + ELSE + *-- Evaluación de errores + THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) ) + THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) ) + THIS.messageout( TRANSFORM(toEx.LINECONTENTS) ) + + THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' ) + ENDIF + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_analizarAsignacion_TAG__fb2p_value__EnUnaAsignacion_InLine + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lcPropName, lcPropValue, laProps(1,2), lnProp_Count, I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, lcMemo ; + , lcValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcTag_I = '' + lcTag_F = '' + lnLen_lcTag_I = LEN(lcTag_I) + lnLen_lcTag_F = LEN(lcTag_F) + lnProp_Count = 17 + DIMENSION laProps(lnProp_Count,2) + laProps = '' + laProps( 1,1) = 'Height = 2.73' + laProps( 1,2) = '' + laProps( 2,1) = 'Name = "c1"' + laProps( 2,2) = '' + laProps( 3,1) = 'prop1 = .F.' + laProps( 3,2) = 'Mi prop1' + laProps( 4,1) = 'prop_especial_cr = Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3' + laProps( 4,2) = '' + laProps( 5,1) = 'prop_especial_crlf = ' + laProps( 5,2) = '' + laProps( 6,1) = 'El valor 1' + laProps( 6,2) = '' + laProps( 7,1) = 'El valor 2' + laProps( 7,2) = '' + laProps( 8,1) = 'Y el 3!' + laProps( 8,2) = '' + laProps( 9,1) = '' + laProps( 9,2) = '' + laProps(10,1) = '' + laProps(10,2) = '' + laProps(11,2) = 'Debería tener CR+LF' + laProps(11,2) = '' + laProps(12,1) = 'Width = 27.4' + laProps(12,2) = '' + laProps(13,1) = '_memberdata = [ ;' + laProps(13,2) = '' + laProps(14,1) = ' ;' + laProps(14,2) = '' + laProps(15,1) = ']' + laProps(15,2) = 'XML Metadata for customizable properties' + I = 4 + loObj.get_SeparatedPropAndValue( laProps(I,1), @lcPropName, @lcPropValue ) + *lcPropName = 'prop_especial_cr' + *lcPropValue = 'Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3' + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(57,8) + 'Este es el valor 1' + CHR(13) + 'Este el 2' + CHR(13) + 'Y este bajo Shift_Enter el 3' + + *-- TEST + loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, @lcMemo ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, @lcMemo, @lcValue_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_analizarAsignacion_TAG__fb2p_value__EnUnaAsignacion_MultiLine + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lcPropName, lcPropValue, laProps(1,2), lnProp_Count, I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, lcMemo ; + , lcValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcTag_I = '' + lcTag_F = '' + lnLen_lcTag_I = LEN(lcTag_I) + lnLen_lcTag_F = LEN(lcTag_F) + lnProp_Count = 17 + DIMENSION laProps(lnProp_Count,2) + laProps = '' + laProps( 1,1) = 'Height = 2.73' + laProps( 1,2) = '' + laProps( 2,1) = 'Name = "c1"' + laProps( 2,2) = '' + laProps( 3,1) = 'prop1 = .F.' + laProps( 3,2) = 'Mi prop1' + laProps( 4,1) = 'prop_especial_cr = Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3' + laProps( 4,2) = '' + laProps( 5,1) = 'prop_especial_crlf = ' + laProps( 5,2) = '' + laProps( 6,1) = 'El valor 1' + laProps( 6,2) = '' + laProps( 7,1) = 'El valor 2' + laProps( 7,2) = '' + laProps( 8,1) = 'Y el 3!' + laProps( 8,2) = '' + laProps( 9,1) = '' + laProps( 9,2) = '' + laProps(10,1) = '' + laProps(10,2) = '' + laProps(11,2) = 'Debería tener CR+LF' + laProps(11,2) = '' + laProps(12,1) = 'Width = 27.4' + laProps(12,2) = '' + laProps(13,1) = '_memberdata = [ ;' + laProps(13,2) = '' + laProps(14,1) = ' ;' + laProps(14,2) = '' + laProps(15,1) = ']' + laProps(15,2) = 'XML Metadata for customizable properties' + I = 5 + loObj.get_SeparatedPropAndValue( laProps(I,1), @lcPropName, @lcPropValue ) + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(33,8) + 'El valor 1' + CR_LF + 'El valor 2' + CR_LF + 'Y el 3!' + CR_LF + + *-- TEST + loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, @lcMemo ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, @lcMemo, @lcValue_Esperado ) + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_analizarAsignacion_TAG__memberdata__EnUnaAsignacion_MultiLine + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , lcPropName, lcPropValue, laProps(1,2), lnProp_Count, I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, lcMemo ; + , lcValue_Esperado ; + , loEx AS EXCEPTION + LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcTag_I = '' + lcTag_F = '' + lnLen_lcTag_I = LEN(lcTag_I) + lnLen_lcTag_F = LEN(lcTag_F) + lnProp_Count = 17 + DIMENSION laProps(lnProp_Count,2) + laProps = '' + laProps( 1,1) = 'Height = 2.73' + laProps( 1,2) = '' + laProps( 2,1) = 'Name = "c1"' + laProps( 2,2) = '' + laProps( 3,1) = 'prop1 = .F.' + laProps( 3,2) = 'Mi prop1' + laProps( 4,1) = 'prop_especial_cr = Este es el valor 1 Este el 2 Y este bajo Shift_Enter el 3' + laProps( 4,2) = '' + laProps( 5,1) = 'prop_especial_crlf = ' + laProps( 5,2) = '' + laProps( 6,1) = 'El valor 1' + laProps( 6,2) = '' + laProps( 7,1) = 'El valor 2' + laProps( 7,2) = '' + laProps( 8,1) = 'Y el 3!' + laProps( 8,2) = '' + laProps( 9,1) = '' + laProps( 9,2) = '' + laProps(10,1) = '' + laProps(10,2) = '' + laProps(11,2) = 'Debería tener CR+LF' + laProps(11,2) = '' + laProps(12,1) = 'Width = 27.4' + laProps(12,2) = '' + laProps(13,1) = '_memberdata = ' + laProps(13,2) = '' + laProps(14,1) = '' + laProps(14,2) = '' + laProps(15,1) = '' + laProps(15,2) = 'XML Metadata for customizable properties' + I = 13 + loObj.get_SeparatedPropAndValue( laProps(I,1), @lcPropName, @lcPropValue ) + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(71,8) + '' + CR_LF + '' + CR_LF + '' + + *-- TEST + loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, @lcMemo ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado ; + , @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, @lcMemo, @lcValue_Esperado ) + + ENDFUNC + + +ENDDEFINE diff --git a/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__insert_AllObjects.prg b/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__insert_AllObjects.prg new file mode 100644 index 0000000..90ade57 --- /dev/null +++ b/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__insert_AllObjects.prg @@ -0,0 +1,161 @@ +DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__insert_AllObjects AS FxuTestCase OF FxuTestCase.prg + + #IF .F. + LOCAL THIS AS ut__foxbin2prg__c_conversor_prg_a_bin__insert_AllObjects OF ut__foxbin2prg__c_conversor_prg_a_bin__insert_AllObjects.PRG + #ENDIF + + #DEFINE C_FB2P_VALUE_I '' + #DEFINE C_FB2P_VALUE_F '' + #DEFINE CR_LF CHR(13) + CHR(10) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE C_TAB CHR(9) + #DEFINE C_PROC 'PROCEDURE' + #DEFINE C_ENDPROC 'ENDPROC' + #DEFINE C_TEXT 'TEXT' + #DEFINE C_ENDTEXT 'ENDTEXT' + #DEFINE C_IF_F '#IF .F.' + #DEFINE C_ENDIF '#ENDIF' + #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' + #DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE' + icObj = NULL + icClase = NULL + + + ******************************************************************************************************************************************* + FUNCTION SETUP + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + LOCAL loObjeto AS CL_OBJETO OF "FOXBIN2PRG.PRG" + LOCAL loClase AS CL_CLASE OF "FOXBIN2PRG.PRG" + SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') + oFXU_LIB.setup_comun() + + THIS.icObj = NEWOBJECT("c_conversor_prg_a_bin", "FOXBIN2PRG.PRG") + THIS.icClase = NEWOBJECT("CL_CLASE", "FOXBIN2PRG.PRG") + loClase = THIS.icClase + loObj = THIS.icObj + loObj.l_Test = .T. + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION TearDown + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + THIS.icObj = NULL + THIS.icClase = NULL + + IF VARTYPE(oFXU_LIB) = "O" + oFXU_LIB.teardown_comun() + oFXU_LIB = NULL + ENDIF + RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Evaluate_results + LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, toClase, taWriteOrder_Esperado + + LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG" + LOCAL loObjeto AS CL_OBJETO OF "FOXBIN2PRG.PRG" + LOCAL loClase AS CL_CLASE OF "FOXBIN2PRG.PRG" + LOCAL I + loObj = THIS.icObj + loClase = toClase + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + IF ISNULL(toEx) + *-- Visualización de valores + FOR I = 1 TO loClase._AddObject_Count + loObjeto = loClase._AddObjects(I) + THIS.messageout( ' objeto._Nombre = ' + TRANSFORM(loObjeto._Nombre) ) + THIS.messageout( ' objeto._ZOrder = ' + TRANSFORM(loObjeto._ZOrder) ) + THIS.messageout( ' objeto._WriteOrder = ' + TRANSFORM(loObjeto._WriteOrder) ) + THIS.messageout( REPLICATE('-',50) ) + ENDFOR + + + *-- Evaluación de valores + FOR I = 1 TO loClase._AddObject_Count + loObjeto = loClase._AddObjects(I) + THIS.assertequals( taWriteOrder_Esperado(I), loObjeto._WriteOrder, "[WriteOrder para objeto " + loObjeto._Nombre + "]" ) + ENDFOR + + ELSE + *-- Evaluación de errores + THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) ) + THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) ) + THIS.messageout( TRANSFORM(toEx.LINECONTENTS) ) + + THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' ) + ENDIF + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_ordenarLosObjetosSegunSuOrdenOriginal + LOCAL lnCodError, lcMenError, lnCodError_Esperado ; + , laWriteOrder_Esperado(3) ; + , loEx AS EXCEPTION + + LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG" + LOCAL loObjeto AS CL_OBJETO OF "FOXBIN2PRG.PRG" + LOCAL loClase AS CL_CLASE OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + loClase = THIS.icClase + loEx = NULL + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + *-- + loObjeto = NULL + loObjeto = NEWOBJECT("CL_OBJETO", "FOXBIN2PRG.PRG") + loObjeto._ObjName = 'Label3' + loObjeto._Parent = 'Form1.pgfPanel.pagApariencia' + loObjeto._Nombre = 'Form1.pgfPanel.pagApariencia.Label3' + loObjeto._ZOrder = 50 + loClase.add_Object( loObjeto ) + *-- + loObjeto = NULL + loObjeto = NEWOBJECT("CL_OBJETO", "FOXBIN2PRG.PRG") + loObjeto._ObjName = 'Label3' + loObjeto._Parent = 'Form1.pgfPanel.pagAvanzado' + loObjeto._Nombre = 'Form1.pgfPanel.pagAvanzado.Label3' + loObjeto._ZOrder = 82 + loClase.add_Object( loObjeto ) + *-- + loObjeto = NULL + loObjeto = NEWOBJECT("CL_OBJETO", "FOXBIN2PRG.PRG") + loObjeto._ObjName = 'Label3' + loObjeto._Parent = 'Form1.pgfPanel.pagSeteos' + loObjeto._Nombre = 'Form1.pgfPanel.pagSeteos.Label3' + loObjeto._ZOrder = 30 + loClase.add_Object( loObjeto ) + *-- + loObjeto = NULL + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + laWriteOrder_Esperado(1) = 2 + laWriteOrder_Esperado(2) = 3 + laWriteOrder_Esperado(3) = 1 + + *-- TEST + loObj.insert_AllObjects( @loClase ) + + THIS.Evaluate_results( loEx, lnCodError_Esperado, @loClase, @laWriteOrder_Esperado ) + + ENDFUNC + + +ENDDEFINE diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 511c534..26ab1bc 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -279,17 +279,22 @@ TRY ENDIF ENDCASE - CD (JUSTPATH(lcSys16)) - SET PATH TO (lcPath) ENDIF CATCH TO loEx + IF llExisteConfig + goCnv.writeLog( 'ERROR: ' + TRANSFORM(loEx.ERRORNO) + ', ' + loEx.MESSAGE + CR_LF ; + + loEx.PROCEDURE + ', line ' + TRANSFORM(loEx.LINENO) + CR_LF ; + + loEx.DETAILS ) + ENDIF FINALLY goFrm_Avance.HIDE() goFrm_Avance.RELEASE() STORE NULL TO goCnv, goFrm_Avance RELEASE goCnv, goFrm_Avance + CD (JUSTPATH(lcSys16)) + SET PATH TO (lcPath) ENDTRY IF _VFP.STARTMODE > 0 @@ -309,6 +314,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -332,10 +338,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM c_LogFile = '' c_OutputFile = '' l_Debug = .F. + l_Test = .F. l_ShowErrors = .F. lFileMode = .F. nClassTimeStamp = '' - n_FB2PRG_Version = 1.8 + n_FB2PRG_Version = 1.9 o_Conversor = NULL c_VC2 = 'VC2' c_SC2 = 'SC2' @@ -375,10 +382,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ******************************************************************************************************************* PROCEDURE Convertir - LPARAMETERS tc_InputFile + LPARAMETERS tc_InputFile, toModulo, toEx AS EXCEPTION TRY - LOCAL lnCodError, loEx AS EXCEPTION, lcErrorInfo + LOCAL lnCodError, lcErrorInfo lnCodError = 0 THIS.c_InputFile = FULLPATH( tc_InputFile ) THIS.c_CurDir = JUSTPATH( THIS.c_InputFile ) @@ -437,13 +444,14 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM THIS.o_Conversor.c_OutputFile = THIS.c_OutputFile THIS.o_Conversor.c_LogFile = THIS.c_LogFile THIS.o_Conversor.l_Debug = THIS.l_Debug + THIS.o_Conversor.l_Test = THIS.l_Test THIS.o_Conversor.n_FB2PRG_Version = THIS.n_FB2PRG_Version - THIS.o_Conversor.Convertir() + THIS.o_Conversor.Convertir( @toModulo ) THIS.o_Conversor = NULL - CATCH TO loEx - lnCodError = loEx.ERRORNO - lcErrorInfo = THIS.Exception2Str(loEx) + CR_LF + CR_LF + 'Fuente: ' + THIS.c_InputFile + CATCH TO toEx + lnCodError = toEx.ERRORNO + lcErrorInfo = THIS.Exception2Str(toEx) + CR_LF + CR_LF + 'Fuente: ' + THIS.c_InputFile TRY STRTOFILE( lcErrorInfo, THIS.c_InputFile + '.ERR' ) @@ -646,6 +654,7 @@ DEFINE CLASS c_conversor_base AS SESSION ******************************************************************************************************************* PROCEDURE Convertir + LPARAMETERS toModulo, toEx AS EXCEPTION THIS.writeLog( '' ) THIS.writeLog( 'Convirtiendo archivo ' + THIS.c_OutputFile + '...' ) ENDPROC @@ -1343,7 +1352,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) ENDPROC @@ -1747,14 +1757,16 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base lcMemo = '' IF toClase._Prop_Count > 0 - DIMENSION laProps( toClase._Prop_Count, 2 ) + DIMENSION laProps( toClase._Prop_Count, 3 ) ACOPY( toClase._Props, laProps ) lnPropsAndValues_Count = 0 WITH THIS *-- OBTENGO LAS PROPIEDADES Y SUS VALORES FOR I = 1 TO toClase._Prop_Count - .get_SeparatedPropAndValue( toClase._Props(I,1), @lcPropName, @lcValue ) + *.get_SeparatedPropAndValue( toClase._Props(I,1), @lcPropName, @lcValue ) + lcPropName = toClase._Props(I,1) + lcValue = toClase._Props(I,2) DO CASE CASE EMPTY(lcPropName) @@ -1824,14 +1836,15 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF toObjeto._Prop_Count > 0 DIMENSION laPropsAndValues( toObjeto._Prop_Count, 2 ) + ACOPY( toObjeto._Props, laPropsAndValues ) - WITH THIS - FOR I = 1 TO toObjeto._Prop_Count - .get_SeparatedPropAndValue( toObjeto._Props(I,1), @lcPropName, @lcValue ) - laPropsAndValues(I,1) = lcPropName - laPropsAndValues(I,2) = lcValue - ENDFOR - ENDWITH && THIS + *WITH THIS + * FOR I = 1 TO toObjeto._Prop_Count + * .get_SeparatedPropAndValue( toObjeto._Props(I,1), @lcPropName, @lcValue ) + * laPropsAndValues(I,1) = lcPropName + * laPropsAndValues(I,2) = lcValue + * ENDFOR + *ENDWITH && THIS *-- REORDENO LAS PROPIEDADES @@ -2532,7 +2545,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *toProject.setParsedProjInfoLine( @tcLine ) lnPos = AT( ' ', tcLine, 1 ) lnPos2 = AT( '&'+'&', tcLine ) - + IF lnPos2 > 0 *-- Con comentarios lcDefinedPAM = lcDefinedPAM ; @@ -2585,7 +2598,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF LEFT( tcLine, 11 ) == 'ADD OBJECT ' *-- Estructura a reconocer: ADD OBJECT 'frm_a.Check1' AS check [WITH] llBloqueEncontrado = .T. - LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, Z + LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, Z, lcProp, lcValue tcLine = CHRTRAN( tcLine, ['], ["] ) IF EMPTY(toClase._Fin_Cab) @@ -2642,10 +2655,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF RIGHT(tcLine, 3) == ', ;' *toObjeto.add_Property( .desnormalizarAsignacion( LEFT(tcLine, LEN(tcLine) - 3) ) ) - toObjeto.add_Property( LEFT(tcLine, LEN(tcLine) - 3) ) + .get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue ) + toObjeto.add_Property( @lcProp, @lcValue ) ELSE *toObjeto.add_Property( .desnormalizarAsignacion( RTRIM(tcLine) ) ) - toObjeto.add_Property( RTRIM(tcLine) ) + .get_SeparatedPropAndValue( RTRIM(tcLine), @lcProp, @lcValue ) + toObjeto.add_Property( @lcProp, @lcValue ) ENDIF ENDFOR @@ -2714,7 +2729,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF LEFT(tcLine + ' ', 13) == C_DEFINE_CLASS + ' ' TRY llBloqueEncontrado = .T. - LOCAL Z, loEx AS EXCEPTION ; + LOCAL Z, lcProp, lcValue, loEx AS EXCEPTION ; , llMETADATA_Completed, llPROTECTED_Completed, llHIDDEN_Completed, llDEFINED_PAM_Completed ; , llINCLUDE_Completed, llCLASS_PROPERTY_Completed @@ -2798,7 +2813,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base CASE NOT llCLASS_PROPERTY_Completed AND EMPTY( toClase._Fin_Cab ) && Propiedades del DEFINE CLASS *toClase.add_Property( THIS.desnormalizarAsignacion( RTRIM(tcLine) ), RTRIM(tc_Comentario) ) - toClase.add_Property( RTRIM(tcLine), RTRIM(tc_Comentario) ) + .get_SeparatedPropAndValue( RTRIM(tcLine), @lcProp, @lcValue ) + toClase.add_Property( @lcProp, @lcValue, RTRIM(tc_Comentario) ) OTHERWISE @@ -2817,6 +2833,18 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base + 'para el identificador [' + toClase._Nombre + ']' ENDIF + toClase._PROPERTIES = THIS.classProps2Memo( toClase ) + toClase._PROTECTED = THIS.hiddenAndProtected_PAM( toClase ) + toClase._METHODS = THIS.classMethods2Memo( toClase ) + *toClase._RESERVED1 = IIF( THIS.c_Type = 'SCX', 'Screen', 'Class' ) + toClase._RESERVED2 = TRANSFORM( toClase._AddObject_Count + 1 ) + toClase._RESERVED3 = THIS.defined_PAM2Memo( toClase ) + toClase._RESERVED4 = toClase._ClassIcon + toClase._RESERVED5 = toClase._ProjectClassIcon + toClase._RESERVED6 = toClase._Scale + toClase._RESERVED7 = toClase._Comentario + toClase._RESERVED8 = toClase._includeFile + CATCH TO loEx IF THIS.l_Debug AND _VFP.STARTMODE = 0 SET STEP ON @@ -3005,11 +3033,12 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) TRY - LOCAL lnCodError, loEx AS EXCEPTION, loReg, lcLine, laCodeLines(1), lnCodeLines, lnFB2P_Version, lcSourceFile ; - , laBloquesExclusion(1,2), lnBloquesExclusion, I, toModulo + LOCAL lnCodError, loReg, lcLine, laCodeLines(1), lnCodeLines, lnFB2P_Version, lcSourceFile ; + , laBloquesExclusion(1,2), lnBloquesExclusion, I STORE 0 TO lnCodError, lnCodeLines, lnFB2P_Version STORE '' TO lcLine, lcSourceFile STORE NULL TO loReg, toModulo @@ -3026,9 +3055,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin THIS.escribirArchivoBin( @toModulo ) - CATCH TO loEx - lnCodError = loEx.ERRORNO - + CATCH TO toEx IF THIS.l_Debug AND _VFP.STARTMODE = 0 SET STEP ON ENDIF @@ -3037,7 +3064,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin ENDTRY - RETURN lnCodError + RETURN ENDPROC @@ -3160,14 +3187,14 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin , loClase._BaseClass ; , loClase._ObjName ; , loClase._Parent ; - , THIS.classProps2Memo( loClase ) ; - , THIS.hiddenAndProtected_PAM( loClase ) ; - , THIS.classMethods2Memo( loClase ) ; + , loClase._PROPERTIES ; + , loClase._PROTECTED ; + , loClase._METHODS ; , loClase._Ole ; , loClase._Ole2 ; - , 'Class' ; - , TRANSFORM( loClase._AddObject_Count + 1 ) ; - , THIS.defined_PAM2Memo( loClase ) ; + , loClase._RESERVED1 ; + , loClase._RESERVED2 ; + , loClase._RESERVED3 ; , loClase._ClassIcon ; , loClase._ProjectClassIcon ; , loClase._Scale ; @@ -3265,11 +3292,12 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) TRY - LOCAL lnCodError, loEx AS EXCEPTION, loReg, lcLine, laCodeLines(1), lnCodeLines, lnFB2P_Version, lcSourceFile ; - , laBloquesExclusion(1,2), lnBloquesExclusion, I, toModulo + LOCAL lnCodError, loReg, lcLine, laCodeLines(1), lnCodeLines, lnFB2P_Version, lcSourceFile ; + , laBloquesExclusion(1,2), lnBloquesExclusion, I STORE 0 TO lnCodError, lnCodeLines, lnFB2P_Version STORE '' TO lcLine, lcSourceFile STORE NULL TO loReg, toModulo @@ -3286,9 +3314,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin THIS.escribirArchivoBin( @toModulo ) - CATCH TO loEx - lnCodError = loEx.ERRORNO - + CATCH TO toEx IF THIS.l_Debug AND _VFP.STARTMODE = 0 SET STEP ON ENDIF @@ -3297,7 +3323,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin ENDTRY - RETURN lnCodError + RETURN ENDPROC @@ -3425,14 +3451,14 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin , loClase._BaseClass ; , loClase._ObjName ; , loClase._Parent ; - , THIS.classProps2Memo( loClase ) ; - , THIS.hiddenAndProtected_PAM( loClase ) ; - , THIS.classMethods2Memo( loClase ) ; + , loClase._PROPERTIES ; + , loClase._PROTECTED ; + , loClase._METHODS ; , loClase._Ole ; , loClase._Ole2 ; - , '' ; - , TRANSFORM( loClase._AddObject_Count + 1 ) ; - , THIS.defined_PAM2Memo( loClase ) ; + , loClase._RESERVED1 ; + , loClase._RESERVED2 ; + , loClase._RESERVED3 ; , loClase._ClassIcon ; , loClase._ProjectClassIcon ; , loClase._Scale ; @@ -3444,7 +3470,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin THIS.insert_AllObjects( @loClase ) - IF NOT loClase._BaseClass == 'dataenvironment' + IF .F. &&NOT loClase._BaseClass == 'dataenvironment' *-- Inserto el COMMENT INSERT INTO TABLABIN ; ( PLATFORM ; @@ -3501,8 +3527,6 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin CATCH TO loEx - lnCodError = loEx.ERRORNO - IF THIS.l_Debug AND _VFP.STARTMODE = 0 SET STEP ON ENDIF @@ -3514,7 +3538,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin ENDTRY - RETURN lnCodError + RETURN ENDPROC ENDDEFINE @@ -3540,12 +3564,16 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) + + #IF .F. + LOCAL toProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' + #ENDIF TRY - LOCAL lnCodError, loEx AS EXCEPTION, loReg, lcLine, laCodeLines(1), lnCodeLines, lnFB2P_Version, lcSourceFile ; - , laBloquesExclusion(1,2), lnBloquesExclusion, I ; - , loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' + LOCAL lnCodError, loReg, lcLine, laCodeLines(1), lnCodeLines, lnFB2P_Version, lcSourceFile ; + , laBloquesExclusion(1,2), lnBloquesExclusion, I STORE 0 TO lnCodError, lnCodeLines, lnFB2P_Version STORE '' TO lcLine, lcSourceFile STORE NULL TO loReg, toModulo @@ -3557,14 +3585,12 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin *THIS.identificarBloquesDeExclusion( @laCodeLines, .F., @laBloquesExclusion, @lnBloquesExclusion ) *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo de cada clase - THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @loProject ) + THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toProject ) - THIS.escribirArchivoBin( @loProject ) + THIS.escribirArchivoBin( @toProject ) - CATCH TO loEx - lnCodError = loEx.ERRORNO - + CATCH TO toEx IF THIS.l_Debug AND _VFP.STARTMODE = 0 SET STEP ON ENDIF @@ -3573,7 +3599,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDTRY - RETURN lnCodError + RETURN ENDPROC @@ -4269,7 +4295,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) ENDPROC @@ -4301,38 +4328,36 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ******************************************************************************************************************* PROCEDURE get_ADD_OBJECT_METHODS - LPARAMETERS toRegObj, toRegClass, tcMethods + LPARAMETERS toRegObj, toRegClass, tcMethods, taMethods, taCode, tnMethodCount TRY - LOCAL laMethods(1,3), laCode(1), lnMethodCount - - THIS.SortMethod( toRegObj.METHODS, @laMethods, @laCode, '', @lnMethodCount ) + THIS.SortMethod( toRegObj.METHODS, @taMethods, @taCode, '', @tnMethodCount ) *-- Ubico los métodos protegidos y les cambio la definición. *-- Los métodos se deben generar con la ruta completa, porque si no es imposible saber a que objeto corresponden, *-- o si son de la clase. - IF lnMethodCount > 0 THEN - FOR I = 1 TO lnMethodCount + IF tnMethodCount > 0 THEN + FOR I = 1 TO tnMethodCount IF EMPTY(toRegObj.PARENT) - lcMethodName = toRegObj.OBJNAME + '.' + laMethods(I,1) + tcMethodName = toRegObj.OBJNAME + '.' + taMethods(I,1) ELSE DO CASE CASE '.' $ toRegObj.PARENT - lcMethodName = SUBSTR(toRegObj.PARENT, AT('.', toRegObj.PARENT) + 1) + '.' + toRegObj.OBJNAME + '.' + laMethods(I,1) + tcMethodName = SUBSTR(toRegObj.PARENT, AT('.', toRegObj.PARENT) + 1) + '.' + toRegObj.OBJNAME + '.' + taMethods(I,1) CASE LEFT(toRegObj.PARENT + '.', LEN( toRegClass.OBJNAME + '.' ) ) == toRegClass.OBJNAME + '.' - lcMethodName = toRegObj.OBJNAME + '.' + laMethods(I,1) + tcMethodName = toRegObj.OBJNAME + '.' + taMethods(I,1) OTHERWISE - lcMethodName = toRegObj.PARENT + '.' + toRegObj.OBJNAME + '.' + laMethods(I,1) + tcMethodName = toRegObj.PARENT + '.' + toRegObj.OBJNAME + '.' + taMethods(I,1) ENDCASE ENDIF *-- Genero el método SIN indentar, ya que se hace luego TEXT TO tcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 - <<'PROCEDURE'>> <> - <> + <<'PROCEDURE'>> <> + <> <<'ENDPROC'>> ENDTEXT ENDFOR @@ -4762,8 +4787,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDTEXT ENDIF ENDPROC - - + + ******************************************************************************************************************* PROCEDURE write_CABECERA_REPORTE LPARAMETERS toReg @@ -4772,7 +4797,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base LOCAL lc_TAG_REPORTE lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_F = ' >' - + TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 <> ENDTEXT @@ -4873,8 +4898,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base RETURN ENDPROC - - + + ******************************************************************************************************************* PROCEDURE write_DETALLE_REPORTE LPARAMETERS toReg @@ -4883,7 +4908,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base LOCAL lc_TAG_REPORTE lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_F = ' >' - + TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 <> ENDTEXT @@ -4984,8 +5009,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base RETURN ENDPROC - - + + ******************************************************************************************************************* PROCEDURE write_DATAENVIRONMENT_REPORTE LPARAMETERS toReg @@ -4994,7 +5019,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base LOCAL lc_TAG_REPORTE lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_F = ' >' - + TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 <> ENDTEXT @@ -5716,10 +5741,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) TRY - LOCAL lnCodError, loEx AS EXCEPTION, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ; + LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ; , laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) STORE 0 TO lnCodError, lnLastClass STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1) @@ -5807,13 +5833,16 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg THIS.write_ENDDEFINE_SiCorresponde( lnLastClass ) *-- Genero el VC2 - IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0 - ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly' + IF THIS.l_Test + toModulo = C_FB2PRG_CODE + ELSE + IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0 + ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly' + ENDIF ENDIF - CATCH TO loEx - lnCodError = loEx.ERRORNO + CATCH TO toEx IF THIS.l_Debug AND _VFP.STARTMODE = 0 SET STEP ON ENDIF @@ -5825,7 +5854,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg ENDTRY - RETURN lnCodError + RETURN ENDPROC ENDDEFINE @@ -5842,10 +5871,15 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) + + #IF .F. + LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG' + #ENDIF TRY - LOCAL lnCodError, loEx AS EXCEPTION, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ; + LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ; , laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) STORE 0 TO lnCodError, lnLastClass STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1) @@ -5856,6 +5890,9 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg INDEX ON PADR(LOWER(PLATFORM + IIF(EMPTY(PARENT),'',ALLTRIM(PARENT)+'.')+OBJNAME),240) TAG PARENT_OBJ OF TABLABIN ADDITIVE SET ORDER TO 0 IN TABLABIN + *toModulo = NULL + *toModulo = CREATEOBJECT('CL_MODULO') + THIS.write_PROGRAM_HEADER() THIS.get_NombresObjetosOLEPublic( @la_NombresObjsOle ) @@ -5886,7 +5923,10 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg SCAN ALL FOR TABLABIN.PLATFORM = "WINDOWS" ; AND (EMPTY(TABLABIN.PARENT) ; AND (TABLABIN.BASECLASS == 'dataenvironment' OR TABLABIN.BASECLASS == 'form' OR TABLABIN.BASECLASS == 'formset' ) ) + + *loRegClass = NULL SCATTER MEMO NAME loRegClass + *toModulo.add_Class( loRegClass ) lcObjName = ALLTRIM(loRegClass.OBJNAME) THIS.write_ENDDEFINE_SiCorresponde( lnLastClass ) @@ -5949,13 +5989,16 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg THIS.write_ENDDEFINE_SiCorresponde( lnLastClass ) *-- Genero el SC2 - IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0 - ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly' + IF THIS.l_Test + toModulo = C_FB2PRG_CODE + ELSE + IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0 + ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly' + ENDIF ENDIF - CATCH TO loEx - lnCodError = loEx.ERRORNO + CATCH TO toEx IF THIS.l_Debug AND _VFP.STARTMODE = 0 SET STEP ON ENDIF @@ -5963,11 +6006,13 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg THROW FINALLY + loRegObj = NULL + loRegClass = NULL USE IN (SELECT("TABLABIN")) ENDTRY - RETURN lnCodError + RETURN ENDPROC ENDDEFINE @@ -5998,7 +6043,8 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) TRY LOCAL lnCodError, lcStr, lnPos, lnLen, lnServerCount, loReg, lcDevInfo ; @@ -6243,18 +6289,22 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg *-- Genero el PJ2 - IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0 - ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly' + IF THIS.l_Test + toModulo = C_FB2PRG_CODE + ELSE + IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0 + ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly' + ENDIF + *COMPILE ( THIS.c_outputFile ) ENDIF - *COMPILE ( THIS.c_outputFile ) - CATCH TO loEx - lnCodError = loEx.ERRORNO + CATCH TO toEx + lnCodError = toEx.ERRORNO DO CASE CASE lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME ) - loEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME + toEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME ENDCASE IF THIS.l_Debug AND _VFP.STARTMODE = 0 @@ -6268,7 +6318,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg ENDTRY - RETURN lnCodError + RETURN ENDPROC ENDDEFINE @@ -6285,17 +6335,18 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg ******************************************************************************************************************* PROCEDURE Convertir - DODEFAULT() + LPARAMETERS toModulo, toEx AS EXCEPTION + DODEFAULT( @toModulo, @toEx ) TRY - LOCAL lnCodError, loEx AS EXCEPTION, loRegCab, loRegDataEnv, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ; + LOCAL lnCodError, loRegCab, loRegDataEnv, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ; , laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) STORE 0 TO lnCodError, lnLastClass STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1) STORE NULL TO loRegObj, loRegCab, loRegDataEnv USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN_0 - + GO TOP && Tiene que ser objType = 1 SCATTER MEMO NAME loRegCab GOTO BOTTOM && Tiene que ser objType = 25 @@ -6316,7 +6367,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg SELECT TABLABIN GOTO TOP THIS.write_CABECERA_REPORTE( @loRegCab ) - + SCAN ALL SCATTER MEMO NAME loRegObj THIS.write_DETALLE_REPORTE( @loRegObj ) @@ -6325,13 +6376,16 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg THIS.write_DATAENVIRONMENT_REPORTE( @loRegDataEnv ) *-- Genero el SC2 - IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0 - ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly' + IF THIS.l_Test + toModulo = C_FB2PRG_CODE + ELSE + IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0 + ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly' + ENDIF ENDIF - CATCH TO loEx - lnCodError = loEx.ERRORNO + CATCH TO toEx IF THIS.l_Debug AND _VFP.STARTMODE = 0 SET STEP ON ENDIF @@ -6344,7 +6398,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg ENDTRY - RETURN lnCodError + RETURN ENDPROC ENDDEFINE @@ -6523,9 +6577,21 @@ DEFINE CLASS CL_CLASE AS CL_BASE + [] ; + [] ; + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] + DIMENSION _Props[1,2], _AddObjects[1], _Procedures[1] _Nombre = '' _ObjName = '' @@ -6559,6 +6625,17 @@ DEFINE CLASS CL_CLASE AS CL_BASE _includeFile = '' _AddObject_Count = 0 _Procedure_Count = 0 + _PROPERTIES = '' + _PROTECTED = '' + _METHODS = '' + _RESERVED1 = '' + _RESERVED2 = '' + _RESERVED3 = '' + _RESERVED4 = '' + _RESERVED5 = '' + _RESERVED6 = '' + _RESERVED7 = '' + _RESERVED8 = '' _User = '' @@ -6578,11 +6655,12 @@ DEFINE CLASS CL_CLASE AS CL_BASE ************************************************************************************************ PROCEDURE add_Property - LPARAMETERS tcProperty AS STRING, tcComment AS STRING + LPARAMETERS tcProperty AS STRING, tcValue AS STRING, tcComment AS STRING THIS._Prop_Count = THIS._Prop_Count + 1 - DIMENSION THIS._Props( THIS._Prop_Count, 2 ) + DIMENSION THIS._Props( THIS._Prop_Count, 3 ) THIS._Props( THIS._Prop_Count, 1 ) = tcProperty - THIS._Props( THIS._Prop_Count, 2 ) = tcComment + THIS._Props( THIS._Prop_Count, 2 ) = tcValue + THIS._Props( THIS._Prop_Count, 3 ) = tcComment ENDPROC @@ -6703,10 +6781,11 @@ DEFINE CLASS CL_OBJETO AS CL_BASE ************************************************************************************************ PROCEDURE add_Property - LPARAMETERS tcProperty + LPARAMETERS tcProperty AS STRING, tcValue AS STRING THIS._Prop_Count = THIS._Prop_Count + 1 - DIMENSION THIS._Props( THIS._Prop_Count, 1 ) + DIMENSION THIS._Props( THIS._Prop_Count, 2 ) THIS._Props( THIS._Prop_Count, 1 ) = tcProperty + THIS._Props( THIS._Prop_Count, 2 ) = tcValue ENDPROC diff --git a/ignore.conf b/ignore.conf new file mode 100644 index 0000000..50a658c --- /dev/null +++ b/ignore.conf @@ -0,0 +1,7 @@ +*.FXP +*.LNK +*.SCC +*.TMP +*.BAK +*/FXUResults.* +*/FXUPersist*.* \ No newline at end of file