Changeset: 26 Changeset: 26

This commit is contained in:
fernando
2013-12-06 01:41:59 +01:00
parent f45409393b
commit 1bf27c011c
19 changed files with 3814 additions and 4 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,89 @@
*-- M<>dulo: fxu_lib_objetos_y_funciones_de_soporte.PRG
*-- Autor: Fernando D. Bozzo - 30/11/2013
*-- Detalle: LIBRER<45>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 = [<VFPData>] ;
+ [<memberdata name="cpath" display="cPath"/>] ;
+ [<memberdata name="coldpath" display="cOldPath"/>] ;
+ [<memberdata name="cpathdatosreadonly" display="cPathDatosReadOnly"/>] ;
+ [<memberdata name="cpathdatostest" display="cPathDatosTest"/>] ;
+ [<memberdata name="copiararchivosparatest" display="copiarArchivosParaTest"/>] ;
+ [<memberdata name="csetdate" display="cSetDate"/>] ;
+ [<memberdata name="mejorarpresentacioncaracteresespeciales" display="mejorarPresentacionCaracteresEspeciales"/>] ;
+ [</VFPData>]
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), '<CRLF>' ) ;
, CHR(13), '<CR>' ) ;
, CHR(10), '<LF>' ) ;
, CHR(9), '<TAB>' ) ;
, ' ', '<27>' ) ;
, '<CRLF>', '<CRLF>'+CHR(13)+CHR(10) )
ENDFUNC
ENDDEFINE

1999
TESTS/ut__foxbin2prg.prg Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,266 @@
DEFINE CLASS ut__foxbin2prg__c_conversor_base__GetTimeStamp AS FxuTestCase OF FxuTestCase.prg
#IF .F.
LOCAL THIS AS ut__foxbin2prg__c_conversor_base__GetTimeStamp OF ut__foxbin2prg__c_conversor_base__GetTimeStamp.PRG
#ENDIF
#DEFINE C_FB2P_VALUE_I '<fb2p_value>'
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
#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<63>n de valores
THIS.messageout( ' TimeStamp (T) = ' + TRANSFORM(ltTimeStamp) )
THIS.messageout( ' TimeStamp (N) = ' + TRANSFORM(lnTimeStamp) )
*-- Evaluaci<63>n de valores
THIS.assertequals( ltTimeStamp_Esperado, ltTimeStamp, "[Fecha y Hora]" )
ELSE
*-- Evaluaci<63>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

View File

@@ -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 '<fb2p_value>'
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
#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<63>n de valores
THIS.messageout( ' TimeStamp (T) = ' + TRANSFORM(ltTimeStamp) )
THIS.messageout( ' TimeStamp (N) = ' + TRANSFORM(lnTimeStamp) )
*-- Evaluaci<63>n de valores
THIS.assertequals( lnTimeStamp_Esperado, lnTimeStamp, "[Valor de TimeStamp]" )
ELSE
*-- Evaluaci<63>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

View File

@@ -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 '<fb2p_value>'
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
#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<63>n de caracteres especiales
tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue )
tcPropValue_Esperado = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue_Esperado )
*-- Visualizaci<63>n de valores
THIS.messageout( ' PropName = ' + TRANSFORM(tcPropName) )
THIS.messageout( ' PropValue = ' + TRANSFORM(tcPropValue) )
*-- Evaluaci<63>n de valores
THIS.assertequals( tcPropName_Esperado, tcPropName, "PropsAndValues_Count" )
THIS.assertequals( tcPropValue_Esperado, tcPropValue, "PropsAndValues_Count" )
ELSE
*-- Evaluaci<63>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 = '<VFPData><memberdata name="mimetodo" display="miMetodo"/></VFPData>'
*-- DATOS ESPERADOS
STORE 0 TO lnCodError_Esperado
laProps( 1,1) = 'prop_especial_cr = <fb2p_value>Este es el valor 1&#13;Este el 2&#13;Y este bajo Shift_Enter el 3</fb2p_value>'
laProps( 1,2) = ''
lcPropName_Esperado = 'prop_especial_cr'
lcPropValue_Esperado = '<fb2p_value>Este es el valor 1&#13;Este el 2&#13;Y este bajo Shift_Enter el 3</fb2p_value>'
*-- TEST
loObj.get_SeparatedPropAndValue( laProps(1,1), @lcPropName, @lcPropValue )
THIS.Evaluate_results( loEx, lnCodError_Esperado ;
, @lcPropName, @lcPropValue, @lcComentario, @lcPropName_Esperado, @lcPropValue_Esperado )
ENDFUNC
ENDDEFINE

View File

@@ -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 '<fb2p_value>'
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
#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<63>n de caracteres especiales
tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue )
tcPropValue_Esperado = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue_Esperado )
*-- Visualizaci<63>n de valores
THIS.messageout( ' PropName = ' + TRANSFORM(tcPropName) )
THIS.messageout( ' PropValue = ' + TRANSFORM(tcPropValue) )
*-- Evaluaci<63>n de valores
THIS.assertequals( tcPropValue_Esperado, tcPropValue, "PropsAndValues_Count" )
ELSE
*-- Evaluaci<63>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 = '<VFPData><memberdata name="mimetodo" display="miMetodo"/></VFPData>'
*-- DATOS ESPERADOS
STORE 0 TO lnCodError_Esperado
TEXT TO lcPropValue_Esperado TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<VFPData>
<<C_TAB>><<C_TAB>><memberdata name="mimetodo" display="miMetodo"/>
<<C_TAB>><<C_TAB>></VFPData>
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&#13;valor 2&#13;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' + '&#13;' + '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' + '&#10;' + '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

View File

@@ -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 '<fb2p_value>'
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
#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<63>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<63>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<63>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<63>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 = <VFPData><memberdata name="mimetodo" display="miMetodo"/></VFPData>
prop_especial_cr = <<REPLICATE( CHR(1), 517 )>> 57Este es el valor 1&#13;Este el 2&#10;Y este bajo Shift_Enter el 3
prop_especial_crlf = <<REPLICATE( CHR(1), 517 )>> 35El valor 1
El valor 2
Y el 3!
<<SPACE(2)>>
Name = "c1"
Page2.Caption = "Page2"
Page1.Name = "Page1"
ENDTEXT
lcMemo = STRTRAN( STRTRAN( lcMemo, '&#13;', CHR(13) ), '&#10;', 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) = '<VFPData><memberdata name="mimetodo" display="miMetodo"/></VFPData>'
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 = <fb2p_value>Este es el valor 1&#13;Este el 2&#10;Y este bajo Shift_Enter el 3</fb2p_value>
prop_especial_crlf = <fb2p_value>
El valor 1
El valor 2
Y el 3!
<<SPACE(2)>>
</fb2p_value>
Width = 27.40
_memberdata = <VFPData>
<<>> <memberdata name="mimetodo" display="miMetodo"/>
<<>> </VFPData>
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 = <VFPData><memberdata name="mimetodo" display="miMetodo"/></VFPData>
prop_especial_cr = <<REPLICATE( CHR(1), 517 )>> 57Este es el valor 1&#13;Este el 2&#10;Y este bajo Shift_Enter el 3
prop_especial_crlf = <<REPLICATE( CHR(1), 517 )>> 35El valor 1
El valor 2
Y el 3!
<<SPACE(2)>>
Name = "c1"
Page2.Caption = "Page2"
Page1.Name = "Page1"
ENDTEXT
lcMemo = STRTRAN( STRTRAN( lcMemo, '&#13;', CHR(13) ), '&#10;', 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) = '<VFPData><memberdata name="mimetodo" display="miMetodo"/></VFPData>'
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 = <VFPData>
<<>> <memberdata name="mimetodo" display="miMetodo"/>
<<>> </VFPData>
prop_especial_cr = <fb2p_value>Este es el valor 1&#13;Este el 2&#10;Y este bajo Shift_Enter el 3</fb2p_value>
prop_especial_crlf = <fb2p_value>
El valor 1
El valor 2
Y el 3!
<<SPACE(2)>>
</fb2p_value>
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

View File

@@ -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 '<fb2p_value>'
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
#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<63>n de caracteres especiales
tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue )
tcValue_Esperado = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcValue_Esperado )
*-- Visualizaci<63>n de valores
THIS.messageout( ' Value = ' + TRANSFORM(tcPropValue) )
THIS.messageout( ' Value_Esperado = ' + TRANSFORM(tcValue_Esperado) )
*-- Evaluaci<63>n de valores
THIS.assertequals( tcValue_Esperado, tcPropValue, "Valor devuelto" )
ELSE
*-- Evaluaci<63>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 = '<fb2p_value>'
lcTag_F = '</fb2p_value>'
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 = <fb2p_value>Este es el valor 1&#13;Este el 2&#13;Y este bajo Shift_Enter el 3</fb2p_value>'
laProps( 4,2) = ''
laProps( 5,1) = 'prop_especial_crlf = <fb2p_value>'
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) = '</fb2p_value>'
laProps(10,2) = ''
laProps(11,2) = 'Deber<65>a tener CR+LF'
laProps(11,2) = ''
laProps(12,1) = 'Width = 27.4'
laProps(12,2) = ''
laProps(13,1) = '_memberdata = [<VFPData> ;'
laProps(13,2) = ''
laProps(14,1) = '<memberdata name="mimetodo" display="miMetodo"/> ;'
laProps(14,2) = ''
laProps(15,1) = '</VFPData>]'
laProps(15,2) = 'XML Metadata for customizable properties'
I = 4
loObj.get_SeparatedPropAndValue( laProps(I,1), @lcPropName, @lcPropValue )
*lcPropName = 'prop_especial_cr'
*lcPropValue = '<fb2p_value>Este es el valor 1&#13;Este el 2&#13;Y este bajo Shift_Enter el 3</fb2p_value>'
*-- 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 = '<fb2p_value>'
lcTag_F = '</fb2p_value>'
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 = <fb2p_value>Este es el valor 1&#13;Este el 2&#13;Y este bajo Shift_Enter el 3</fb2p_value>'
laProps( 4,2) = ''
laProps( 5,1) = 'prop_especial_crlf = <fb2p_value>'
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) = '</fb2p_value>'
laProps(10,2) = ''
laProps(11,2) = 'Deber<65>a tener CR+LF'
laProps(11,2) = ''
laProps(12,1) = 'Width = 27.4'
laProps(12,2) = ''
laProps(13,1) = '_memberdata = [<VFPData> ;'
laProps(13,2) = ''
laProps(14,1) = '<memberdata name="mimetodo" display="miMetodo"/> ;'
laProps(14,2) = ''
laProps(15,1) = '</VFPData>]'
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 = '<VFPData>'
lcTag_F = '</VFPData>'
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 = <fb2p_value>Este es el valor 1&#13;Este el 2&#13;Y este bajo Shift_Enter el 3</fb2p_value>'
laProps( 4,2) = ''
laProps( 5,1) = 'prop_especial_crlf = <fb2p_value>'
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) = '</fb2p_value>'
laProps(10,2) = ''
laProps(11,2) = 'Deber<65>a tener CR+LF'
laProps(11,2) = ''
laProps(12,1) = 'Width = 27.4'
laProps(12,2) = ''
laProps(13,1) = '_memberdata = <VFPData>'
laProps(13,2) = ''
laProps(14,1) = '<memberdata name="mimetodo" display="miMetodo"/>'
laProps(14,2) = ''
laProps(15,1) = '</VFPData>'
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) + '<VFPData>' + CR_LF + '<memberdata name="mimetodo" display="miMetodo"/>' + CR_LF + '</VFPData>'
*-- 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

View File

@@ -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 '<fb2p_value>'
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
#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<63>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<63>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<63>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

View File

@@ -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 ;

7
ignore.conf Normal file
View File

@@ -0,0 +1,7 @@
*.FXP
*.LNK
*.SCC
*.TMP
*.BAK
*/FXUResults.*
*/FXUPersist*.*