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 = ' >' + C_TAG_REPORTE + '>'
-
+
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 = ' >' + C_TAG_REPORTE + '>'
-
+
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 = ' >' + C_TAG_REPORTE + '>'
-
+
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