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..6cf4a40
--- /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
+
+ ENDPROC
+
+
+ *----------------------------------------------------------------------------------------
+ PROCEDURE TEARDOWN_COMUN
+
+ 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..a1e009a
--- /dev/null
+++ b/TESTS/ut__foxbin2prg.prg
@@ -0,0 +1,1999 @@
+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, taPropsAndValues, tnPropsAndValues_Count ;
+ , taPropsAndValues_Esperado, tnPropsAndValues_Count_Esperado, tcParent, tcClass, tcObjName
+
+ #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 )
+
+
+ *-- Visualización de valores
+ THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) )
+ THIS.messageout( '' )
+ THIS.messageout( 'Propiedades esperadas para ' + tcParent + '.' + tcObjName + ' (' + tcClass + ')' + ': ' )
+ THIS.messageout( REPLICATE('-',80) )
+ FOR I = 1 TO tnPropsAndValues_Count_Esperado
+ THIS.messageout( 'PropName = ' + TRANSFORM(taPropsAndValues_Esperado(I,1)) )
+ ENDFOR
+
+
+ *-- Evaluación de valores
+ THIS.assertequals( tnPropsAndValues_Count_Esperado, tnPropsAndValues_Count, "Cantidad de propiedades" )
+ FOR I = 1 TO tnPropsAndValues_Count_Esperado
+ THIS.asserttrue( ASCAN( taPropsAndValues, taPropsAndValues_Esperado(I,1), 1, -1, 1, 0+2+4) > 0, ' Comprobación de que existe la propiedad "' + 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_YValidarElCampo_PROPERTIES_ParaElObjeto__dataenvironment
+ LOCAL lnCodError, lcMenError, lnCodError_Esperado ;
+ , lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ lcClass = LOWER('dataenvironment')
+ lcParent = ''
+ lcObjName = 'Dataenvironment'
+
+ TEXT TO lcMemo NOSHOW FLAGS 1+2 PRETEXT 1+2+4
+ Top = 404
+ Left = 11
+ Width = 520
+ Height = 200
+ DataSource = .NULL.
+ Name = "Dataenvironment"
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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
+ DO FOXBIN2PRG.prg WITH lc_InputFile, lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+ DO FOXBIN2PRG.prg WITH FORCEEXT(lc_InputFile,'VC2'), lcType_na, lcTextName_na, llGenText_na, lcDontShowErrors, lcDebug, lcDontShowProgress
+
+ IF FILE(lc_InputFile)
+ USE (lc_InputFile) SHARED NOUPDATE ALIAS TABLABIN
+ ELSE
+ ERROR 'No se encontró el archivo "' + lc_InputFile + '"'
+ ENDIF
+
+ SELECT Properties FROM TABLABIN WHERE CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName INTO ARRAY laDatos
+ USE IN (SELECT("TABLABIN"))
+ loObj.get_PropsAndValuesFrom_PROPERTIES( laDatos(1), 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
+
+ THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_InputFile, @laPropsAndValues, lnPropsAndValues_Count ;
+ , @laPropsAndValues_Esperado, lnPropsAndValues_Count_Esperado, lcParent, lcClass, lcObjName )
+
+ 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 ;
+ , laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
+ , laDatos(1,1), lcParent, lcClass, lcObjName, lcMemo, laProps(1), lcProp, lcValue ;
+ , loEx AS EXCEPTION
+
+ LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
+ loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
+ 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
+ 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 = "\'
+ #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..68b863d 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
@@ -335,7 +340,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
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'
@@ -3444,7 +3449,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 ;
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