Esta macro, 'assertTrue', forma parte del framework SASUNIT y está diseñada para verificar si una condición dada se evalúa como 'verdadera'. Para tipos numéricos, un valor de 0 se considera falso, mientras que cualquier otro valor es verdadero. Para tipos de caracteres, una cadena vacía o compuesta únicamente de espacios, así como la palabra 'false' (insensible a mayúsculas y minúsculas), se consideran falsos. Todas las demás cadenas son verdaderas. La macro inicializa variables locales, verifica la secuencia de llamadas a través de %_checkCallingSequence, y luego procede a la evaluación del parámetro i_cond según su tipo (numérico o carácter). Finalmente, llama a la macro interna %_asserts para registrar el resultado de la aserción.
Análisis de datos
Type : CREATION_INTERNE
El código evalúa la variable de entrada 'i_cond', que es una condición pasada como parámetro. No lee datos directamente de archivos o bases de datos externas, sino que procesa un valor o una expresión interna al script.
1 Bloque de código
Macro SAS
Explicación : Este bloque define la macro 'assertTrue' con dos parámetros: 'i_cond' (la condición a evaluar) y 'i_desc' (una descripción de la aserción). Declara la variable global 'g_inTestCase' y llama a '%endTestCall' para la gestión de mensajes. La macro luego realiza una verificación de la secuencia de llamadas a través de '%_checkCallingSequence' para asegurar que se usa correctamente en un contexto de aserción. Se declaran variables locales para almacenar los resultados intermedios de la evaluación.
%IF %_checkCallingSequence(i_callerType=assert) NE 0 %THEN %DO;
9
%RETURN;
10
%END;
11
12
%LOCAL l_result l_expected l_actual;
2 Bloque de código
Macro SAS (Logique conditionnelle)
Explicación : Este bloque evalúa la condición 'i_cond' si es de tipo carácter, determinado por la macro '%datatyp'. Define 'l_expected' como 'true'. Si la cadena está vacía, 'l_result' se establece en 2 (falso). De lo contrario, la cadena se convierte a minúsculas. Si es 'true' (verdadero), 'l_result' es 0 (verdadero); si es 'false' (falso), 'l_result' es 2 (falso). Si la cadena no es ni 'true' ni 'false', se limpia de espacios con '%sysfunc(strip())', y 'l_result' se define en función de su longitud después de la limpieza: 0 si no está vacía (verdadero), 2 si está vacía (falso).
Explicación : Este bloque evalúa la condición 'i_cond' si es de tipo numérico. Define 'l_expected' como 1. El valor de 'i_cond' se almacena en 'l_actual'. Si 'i_cond' es igual a 0, 'l_result' se establece en 2 (falso). En todos los demás casos (valor numérico no nulo), 'l_result' se establece en 0 (verdadero).
Explicación : Este último bloque llama a la macro interna '%_asserts'. Este es el corazón del registro de la aserción. Le pasa el tipo de aserción ('assertTrue'), el valor esperado ('l_expected'), el valor actual ('l_actual'), la descripción de la aserción ('i_desc') y el resultado de la evaluación ('l_result'). Esta macro '%_asserts' es responsable de la gestión de los resultados de las pruebas y de su reporte.
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.