Changeset: 49 Changeset: 49 Solución bugs, algunas diferencias en campos memo, creación de unos cuántos casos de prueba automatizados con FoxUnit
This commit is contained in:
BIN
TESTS/DATOS_READONLY/fb2p_frm_1.sct
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_frm_1.sct
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_frm_1.scx
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_frm_1.scx
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_frm_2.sct
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_frm_2.sct
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_frm_2.scx
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_frm_2.scx
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_test.pjt
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_test.pjt
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_test.pjx
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_test.pjx
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_test.vct
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_test.vct
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_test.vcx
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_test.vcx
Normal file
Binary file not shown.
135
TESTS/fxu_lib_objetos_y_funciones_de_soporte.prg
Normal file
135
TESTS/fxu_lib_objetos_y_funciones_de_soporte.prg
Normal file
@@ -0,0 +1,135 @@
|
||||
*-- 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"/>] ;
|
||||
+ [<memberdata name="prepararobjetoreg_scx" display="prepararObjetoReg_SCX"/>] ;
|
||||
+ [<memberdata name="prepararobjetoreg_vcx" display="prepararObjetoReg_VCX"/>] ;
|
||||
+ [</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
|
||||
ERASE (FORCEPATH( '*.*', THIS.cPathDatosTest ) )
|
||||
ENDPROC
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------------------
|
||||
PROCEDURE TEARDOWN_COMUN
|
||||
USE IN (SELECT("TABLABIN"))
|
||||
ENDPROC
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------------------
|
||||
PROCEDURE copiarArchivosParaTest
|
||||
LPARAMETERS tcFileSpec
|
||||
|
||||
COPY FILE (FORCEPATH( tcFileSpec, THIS.cPathDatosReadOnly )) TO (FORCEPATH( tcFileSpec, THIS.cPathDatosTest ))
|
||||
ENDPROC
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------------------
|
||||
FUNCTION mejorarPresentacionCaracteresEspeciales
|
||||
LPARAMETERS tcText
|
||||
RETURN STRTRAN( ;
|
||||
STRTRAN( ;
|
||||
STRTRAN( ;
|
||||
STRTRAN( ;
|
||||
STRTRAN( ;
|
||||
STRTRAN( tcText, CHR(13)+CHR(10), '<CRLF>' ) ;
|
||||
, CHR(13), '<CR>' ) ;
|
||||
, CHR(10), '<LF>' ) ;
|
||||
, CHR(9), '<TAB>' ) ;
|
||||
, ' ', '<27>' ) ;
|
||||
, '<CRLF>', '<CRLF>'+CHR(13)+CHR(10) )
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------------------
|
||||
PROCEDURE prepararObjetoReg_SCX
|
||||
LPARAMETERS toReg, tcClass, tcParent, tcObjName
|
||||
|
||||
toReg = CREATEOBJECT("EMPTY")
|
||||
ADDPROPERTY( toReg, 'Class', tcClass )
|
||||
ADDPROPERTY( toReg, 'Parent', tcParent )
|
||||
ADDPROPERTY( toReg, 'objName', tcObjName )
|
||||
ADDPROPERTY( toReg, 'Reserved1', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved2', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved3', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved4', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved5', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved6', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved7', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved8', '' )
|
||||
ADDPROPERTY( toReg, 'Properties', '' )
|
||||
ADDPROPERTY( toReg, 'Protected', '' )
|
||||
ADDPROPERTY( toReg, 'Methods', '' )
|
||||
ENDPROC
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------------------
|
||||
PROCEDURE prepararObjetoReg_VCX
|
||||
LPARAMETERS toReg, tcClass, tcParent, tcObjName
|
||||
|
||||
toReg = CREATEOBJECT("EMPTY")
|
||||
ADDPROPERTY( toReg, 'Class', tcClass )
|
||||
ADDPROPERTY( toReg, 'Parent', tcParent )
|
||||
ADDPROPERTY( toReg, 'objName', tcObjName )
|
||||
ADDPROPERTY( toReg, 'Reserved1', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved2', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved3', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved4', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved5', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved6', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved7', '' )
|
||||
ADDPROPERTY( toReg, 'Reserved8', '' )
|
||||
ADDPROPERTY( toReg, 'Properties', '' )
|
||||
ADDPROPERTY( toReg, 'Protected', '' )
|
||||
ADDPROPERTY( toReg, 'Methods', '' )
|
||||
ENDPROC
|
||||
|
||||
|
||||
ENDDEFINE
|
||||
362
TESTS/ut__foxbin2prg.prg
Normal file
362
TESTS/ut__foxbin2prg.prg
Normal file
@@ -0,0 +1,362 @@
|
||||
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 '<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 = .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_OutputFile, tcParent, tcClass, tcObjName, toReg_Esperado
|
||||
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
|
||||
IF PCOUNT() = 0
|
||||
THIS.messageout( "* Support method, not a valid test." )
|
||||
RETURN .T.
|
||||
ENDIF
|
||||
|
||||
|
||||
LOCAL lnCodError, lcTipoBinario, toReg ;
|
||||
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG"
|
||||
|
||||
*-- TEST
|
||||
TRY
|
||||
lcTipoBinario = UPPER( JUSTEXT( tc_OutputFile ) )
|
||||
|
||||
IF FILE(tc_OutputFile)
|
||||
SELECT 0
|
||||
USE (tc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||
ELSE
|
||||
ERROR 'No se encontr<74> el archivo "' + tc_OutputFile + '"'
|
||||
ENDIF
|
||||
|
||||
IF EMPTY(tcParent) AND EMPTY(tcClass) AND EMPTY(tcObjName)
|
||||
DO CASE
|
||||
CASE lcTipoBinario = 'SCX'
|
||||
LOCATE FOR PLATFORM=="COMMENT " AND UniqueID=="Screen "
|
||||
CASE lcTipoBinario = 'VCX'
|
||||
LOCATE FOR PLATFORM=="COMMENT " AND UniqueID=="Class "
|
||||
ENDCASE
|
||||
IF NOT FOUND()
|
||||
ERROR 'No se encontr<74> el registro de cabecera "' + UniqueID + '"'
|
||||
ENDIF
|
||||
ELSE
|
||||
LOCATE FOR CLASS==tcClass AND PARENT==tcParent AND objName==tcObjName
|
||||
IF NOT FOUND()
|
||||
ERROR 'No se encontr<74> el registro para CLASS=="' + tcClass + '" AND PARENT=="' + tcParent + '" AND objName=="' + tcObjName + '"'
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
SCATTER MEMO NAME toReg
|
||||
|
||||
CATCH TO toEx
|
||||
FINALLY
|
||||
USE IN (SELECT("TABLABIN"))
|
||||
ENDTRY
|
||||
|
||||
|
||||
IF ISNULL(toEx)
|
||||
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
|
||||
, lnPropsAndComments_Count, lnPropsAndComments_Count_Esperado, laPropsAndComments(1,2), laPropsAndComments_Esperado(1,2) ;
|
||||
, laProtected(1), lnProtected_Count, laProtected_Esperado(1), lnProtected_Count_Esperado ;
|
||||
, laMethods(1,2), lnMethods_Count, laMethods_Esperado(1,2), lnMethods_Count_Esperado, lcExtraData
|
||||
LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
|
||||
|
||||
*-- Algunos ajustes para mejor visualizaci<63>n de caracteres especiales
|
||||
*tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue )
|
||||
loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
|
||||
|
||||
*-- Reserved3
|
||||
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg.RESERVED3, .F., @laPropsAndComments, @lnPropsAndComments_Count, '' )
|
||||
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg_Esperado.RESERVED3, .F., @laPropsAndComments_Esperado, @lnPropsAndComments_Count_Esperado, '' )
|
||||
|
||||
*-- Properties
|
||||
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg.PROPERTIES, 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
|
||||
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg_Esperado.PROPERTIES, 0, @laPropsAndValues_Esperado, @lnPropsAndValues_Count_Esperado, '' )
|
||||
|
||||
*-- Protected
|
||||
loObj.get_PropsFrom_PROTECTED( toReg.PROTECTED, .F., @laProtected, @lnProtected_Count, '' )
|
||||
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
|
||||
|
||||
*-- Methods
|
||||
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count )
|
||||
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado )
|
||||
|
||||
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
|
||||
|
||||
|
||||
*-- Visualizaci<63>n de valores
|
||||
THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) )
|
||||
|
||||
THIS.messageout( 'PROPERTIES esperadas para ' + lcExtraData + ': ' ;
|
||||
+ TRANSFORM(lnPropsAndValues_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROPERTIES)) + ' bytes)' )
|
||||
*THIS.messageout( REPLICATE('-',80) )
|
||||
*FOR I = 1 TO lnPropsAndValues_Count_Esperado
|
||||
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndValues_Esperado(I,1)) )
|
||||
*ENDFOR
|
||||
|
||||
THIS.messageout( 'PROTECTED esperadas para ' + lcExtraData + ': ' ;
|
||||
+ TRANSFORM(lnProtected_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROTECTED)) + ' bytes)' )
|
||||
*THIS.messageout( REPLICATE('-',80) )
|
||||
*FOR I = 1 TO lnProtected_Count_Esperado
|
||||
* THIS.messageout( 'PropName = ' + TRANSFORM(laProtected_Esperado(I,1)) )
|
||||
*ENDFOR
|
||||
|
||||
THIS.messageout( 'RESERVED3 esperadas para ' + lcExtraData + ': ' ;
|
||||
+ TRANSFORM(lnPropsAndComments_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.RESERVED3)) + ' bytes)' )
|
||||
*THIS.messageout( REPLICATE('-',80) )
|
||||
*FOR I = 1 TO lnPropsAndComments_Count_Esperado
|
||||
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndComments_Esperado(I,1)) )
|
||||
*ENDFOR
|
||||
|
||||
THIS.messageout( 'METHODS esperadas para ' + lcExtraData + ': ' ;
|
||||
+ TRANSFORM(lnMethods_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.METHODS)) + ' bytes)' )
|
||||
*THIS.messageout( REPLICATE('-',80) )
|
||||
*FOR I = 1 TO lnMethods_Count_Esperado
|
||||
* THIS.messageout( 'Name = ' + TRANSFORM(laMethods_Esperado(I,1)) )
|
||||
*ENDFOR
|
||||
|
||||
THIS.messageout( 'OLE2 esperado para ' + lcExtraData + ': ' + TRANSFORM(toReg_Esperado.OLE2) )
|
||||
|
||||
THIS.messageout( 'Checksum OLE esperado para ' + lcExtraData + ': ' + TRANSFORM(SYS(2007, toReg_Esperado.OLE)) )
|
||||
|
||||
|
||||
*-- Evaluaci<63>n de valores
|
||||
THIS.assertequals( toReg_Esperado.Reserved1, toReg.Reserved1, "Valor de RESERVED1 para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.Reserved1), LEN(toReg.Reserved1), "Tama<6D>o de RESERVED1 para " + lcExtraData )
|
||||
|
||||
THIS.assertequals( toReg_Esperado.Reserved2, toReg.Reserved2, "Valor de RESERVED2 para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.Reserved2), LEN(toReg.Reserved2), "Tama<6D>o de RESERVED2 para " + lcExtraData )
|
||||
|
||||
THIS.assertequals( toReg_Esperado.Reserved4, toReg.Reserved4, "Valor de RESERVED4 para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.Reserved4), LEN(toReg.Reserved4), "Tama<6D>o de RESERVED4 para " + lcExtraData )
|
||||
|
||||
THIS.assertequals( toReg_Esperado.Reserved5, toReg.Reserved5, "Valor de RESERVED5 para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.Reserved5), LEN(toReg.Reserved5), "Tama<6D>o de RESERVED5 para " + lcExtraData )
|
||||
|
||||
THIS.assertequals( toReg_Esperado.Reserved6, toReg.Reserved6, "Valor de RESERVED6 para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.Reserved6), LEN(toReg.Reserved6), "Tama<6D>o de RESERVED6 para " + lcExtraData )
|
||||
|
||||
THIS.assertequals( toReg_Esperado.Reserved7, toReg.Reserved7, "Valor de RESERVED7 para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.Reserved7), LEN(toReg.Reserved7), "Tama<6D>o de RESERVED7 para " + lcExtraData )
|
||||
|
||||
THIS.assertequals( toReg_Esperado.Reserved8, toReg.Reserved8, "Valor de RESERVED8 para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.Reserved8), LEN(toReg.Reserved8), "Tama<6D>o de RESERVED8 para " + lcExtraData )
|
||||
|
||||
THIS.assertequals( toReg_Esperado.OLE2, toReg.OLE2, "Valor de OLE2 para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.OLE2), LEN(toReg.OLE2), "Tama<6D>o de OLE2 para " + lcExtraData )
|
||||
|
||||
THIS.assertequals( SYS(2007, toReg_Esperado.OLE), SYS(2007, toReg.OLE), "Valor de OLE (Checksum) para " + lcExtraData )
|
||||
THIS.assertequals( LEN(toReg_Esperado.OLE), LEN(toReg.OLE), "Tama<6D>o de OLE para " + lcExtraData )
|
||||
|
||||
*-- PROPERTIES
|
||||
THIS.assertequals( LEN(toReg_Esperado.PROPERTIES), LEN(toReg.PROPERTIES), "Tama<6D>o de PROPERTIES para " + lcExtraData )
|
||||
THIS.assertequals( lnPropsAndValues_Count_Esperado, lnPropsAndValues_Count, "Cantidad de PROPERTIES para " + lcExtraData )
|
||||
FOR I = 1 TO lnPropsAndValues_Count_Esperado
|
||||
THIS.asserttrue( ASCAN( laPropsAndValues, laPropsAndValues_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
||||
, ' Comprobaci<63>n de que existe la Property "' + TRANSFORM(laPropsAndValues_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||
ENDFOR
|
||||
|
||||
*-- RESERVED3
|
||||
THIS.assertequals( LEN(toReg_Esperado.RESERVED3), LEN(toReg.RESERVED3), "Tama<6D>o de RESERVED3 para " + lcExtraData )
|
||||
THIS.assertequals( lnPropsAndComments_Count_Esperado, lnPropsAndComments_Count, "Cantidad de RESERVED3 para " + lcExtraData )
|
||||
FOR I = 1 TO lnPropsAndComments_Count_Esperado
|
||||
THIS.asserttrue( ASCAN( laPropsAndComments, laPropsAndComments_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
||||
, ' Comprobaci<63>n de que existe la Reserved3 "' + TRANSFORM(laPropsAndComments_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||
ENDFOR
|
||||
|
||||
*-- PROTECTED
|
||||
THIS.assertequals( LEN(toReg_Esperado.PROTECTED), LEN(toReg.PROTECTED), "Tama<6D>o de PROTECTED para " + lcExtraData )
|
||||
THIS.assertequals( lnProtected_Count_Esperado, lnProtected_Count, "Cantidad de PROTECTED para " + lcExtraData )
|
||||
FOR I = 1 TO lnProtected_Count_Esperado
|
||||
THIS.asserttrue( ASCAN( laProtected, laProtected_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
||||
, ' Comprobaci<63>n de que existe la Protected "' + TRANSFORM(laProtected_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||
ENDFOR
|
||||
|
||||
*-- METHODS
|
||||
THIS.assertequals( LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) ;
|
||||
, LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) ), "Tama<6D>o de METHODS para " + lcExtraData )
|
||||
THIS.assertequals( lnMethods_Count_Esperado, lnMethods_Count, "Cantidad de METHODS para " + lcExtraData )
|
||||
FOR I = 1 TO lnMethods_Count_Esperado
|
||||
THIS.asserttrue( ASCAN( laMethods, laMethods_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
||||
, ' Comprobaci<63>n de que existe el Method "' + TRANSFORM(laMethods_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||
ENDFOR
|
||||
|
||||
ELSE
|
||||
*-- Evaluaci<63>n de errores
|
||||
THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) )
|
||||
THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) )
|
||||
IF NOT INLIST( toEx.ERRORNO, 1098, 2071 ) && Error del usuario (ERROR y THROW)
|
||||
THIS.messageout( TRANSFORM(toEx.LINECONTENTS) )
|
||||
ENDIF
|
||||
|
||||
THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' )
|
||||
ENDIF
|
||||
|
||||
THIS.messageout( '' )
|
||||
THIS.messageout( REPLICATE('*',80) )
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarLosCamposDelRegistro
|
||||
LOCAL lnCodError, lnCodError_Esperado ;
|
||||
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
|
||||
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||
, loEx AS EXCEPTION
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
loEx = NULL
|
||||
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||
*loCnv.l_Debug = .F.
|
||||
loCnv.l_ShowErrors = .F.
|
||||
*loCnv.l_Test = .T.
|
||||
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError
|
||||
lc_File = 'fb2p_frm_1.scx'
|
||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||
|
||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||
|
||||
loCnv.Convertir( lc_OutputFile, .F., .F., .T. )
|
||||
loCnv.Convertir( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), .F., .F., .T. )
|
||||
|
||||
SELECT 0
|
||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
||||
|
||||
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Form',10) OR PLATFORM==PADR("WINDOWS",8) )
|
||||
*-- DATOS ESPERADOS
|
||||
STORE 0 TO lnCodError_Esperado
|
||||
SCATTER MEMO NAME loReg_Esperado
|
||||
lcClass = loReg_Esperado.CLASS
|
||||
lcParent = loReg_Esperado.PARENT
|
||||
lcObjName = loReg_Esperado.objName
|
||||
|
||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
||||
ENDSCAN
|
||||
|
||||
CATCH TO loEx
|
||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
||||
|
||||
FINALLY
|
||||
USE IN (SELECT("ARCHIBOBIN_IN"))
|
||||
ENDTRY
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarLosCamposDelRegistro
|
||||
LOCAL lnCodError, lnCodError_Esperado ;
|
||||
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
|
||||
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||
, loEx AS EXCEPTION
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
loEx = NULL
|
||||
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||
*loCnv.l_Debug = .F.
|
||||
loCnv.l_ShowErrors = .F.
|
||||
*loCnv.l_Test = .T.
|
||||
loCnv.l_PropSort_Enabled = .F. && Para buscar diferencias
|
||||
loCnv.l_MethodSort_Enabled = .F. && Para buscar diferencias
|
||||
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError
|
||||
lc_File = 'fb2p_test.vcx' && 'THCALC.VCX' &&
|
||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||
|
||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||
|
||||
loCnv.Convertir( lc_OutputFile, .F., .F., .T. )
|
||||
loCnv.Convertir( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), .F., .F., .T. )
|
||||
|
||||
SELECT 0
|
||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
||||
|
||||
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
|
||||
*-- DATOS ESPERADOS
|
||||
STORE 0 TO lnCodError_Esperado
|
||||
SCATTER MEMO NAME loReg_Esperado
|
||||
lcClass = loReg_Esperado.CLASS
|
||||
lcParent = loReg_Esperado.PARENT
|
||||
lcObjName = loReg_Esperado.objName
|
||||
|
||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
||||
ENDSCAN
|
||||
|
||||
CATCH TO loEx
|
||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
||||
|
||||
FINALLY
|
||||
USE IN (SELECT("ARCHIBOBIN_IN"))
|
||||
ENDTRY
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
ENDDEFINE
|
||||
266
TESTS/ut__foxbin2prg__c_conversor_base__GetTimeStamp.prg
Normal file
266
TESTS/ut__foxbin2prg__c_conversor_base__GetTimeStamp.prg
Normal 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
|
||||
325
TESTS/ut__foxbin2prg__c_conversor_base__RowTimeStamp.prg
Normal file
325
TESTS/ut__foxbin2prg__c_conversor_base__RowTimeStamp.prg
Normal 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
|
||||
@@ -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 Este el 2 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 Este el 2 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
|
||||
@@ -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 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
|
||||
@@ -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 Este el 2 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, ' ', 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) = '<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 Este el 2 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 Este el 2 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, ' ', 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) = '<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 Este el 2 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
|
||||
@@ -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 Este el 2 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 Este el 2 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 Este el 2 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 Este el 2 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
|
||||
@@ -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
|
||||
BIN
foxbin2prg.pjt
Normal file
BIN
foxbin2prg.pjt
Normal file
Binary file not shown.
BIN
foxbin2prg.pjx
Normal file
BIN
foxbin2prg.pjx
Normal file
Binary file not shown.
4684
foxbin2prg.prg
4684
foxbin2prg.prg
File diff suppressed because it is too large
Load Diff
7
ignore.conf
Normal file
7
ignore.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
*.FXP
|
||||
*.LNK
|
||||
*.SCC
|
||||
*.TMP
|
||||
*.BAK
|
||||
*/FXUResults.*
|
||||
*/FXUPersist*.*
|
||||
Reference in New Issue
Block a user