Publicado el :
Test SASHELP

Test de la macro _existVar.sas

Este código también está disponible en: Français Deutsch English
El script es una prueba unitaria implementada con el framework SASUnit. Contiene varios casos de prueba para evaluar el comportamiento de la macro `_existVar.sas©`. Los casos de prueba incluyen:
1. Verificación de la existencia de la variable 'age' como numérica en el conjunto de datos 'sashelp.class'.
2. Verificación de que la variable 'age' no sea de tipo carácter en 'sashelp.class'.
3. Verificación de la existencia de la variable 'name' (sin especificación de tipo) en 'sashelp.class'.
Cada prueba utiliza la macro `%assertEquals` de SASUnit para comparar el resultado obtenido de `_existVar` con un valor esperado (1 para verdadero, 0 para falso), garantizando así la validez de la macro.
Análisis de datos

Type : SASHELP


El script utiliza el conjunto de datos 'class' de la biblioteca SASHELP. SASHELP es una biblioteca SAS estándar, incluida con cualquier instalación de SAS, y por lo tanto no requiere datos externos o la creación de datos específicos del script para su ejecución.

1 Bloque de código
MACRO CALL
Explicación :
Inicializa un nuevo escenario de prueba SASUnit. Esto define el contexto global para una serie de pruebas relacionadas, facilitando la organización y el informe de los resultados de la prueba.
¡Copiado!
1%initScenario (i_desc=Test of _existVar.sas);
2 Bloque de código
MACRO CALL
Explicación :
Este bloque define un caso de prueba para verificar la presencia de una variable numérica llamada 'age' en 'sashelp.class'. La macro `_existVar` se llama con 'N' para especificar un tipo numérico. El resultado se almacena en `&rc.` y luego se compara con 1 (verdadero) para confirmar que la variable numérica 'age' existe.
¡Copiado!
1%initTestcase(i_object=_existVar.sas, i_desc=Test for numeric variable age)
2%let rc=%_existVar (sashelp.class
3 ,age
4 ,N
5 );
6%endTestcall;
7 
8%assertEquals(i_expected=1, i_actual=&rc., i_desc=Numeric variable age exists)
9%endTestcase;
3 Bloque de código
MACRO CALL
Explicación :
Este caso de prueba verifica que la variable 'age' no sea reconocida como una variable de tipo carácter en 'sashelp.class'. La macro `_existVar` se llama con 'C' para el tipo carácter. El resultado esperado es 0 (falso), confirmando que 'age' no es una variable carácter, lo cual es correcto dado que es numérica en 'sashelp.class'.
¡Copiado!
1%initTestcase(i_object=_existVar.sas, i_desc=Test for character variable age)
2%let rc=%_existVar (sashelp.class
3 ,age
4 ,C
5 );
6%endTestcall;
7 
8%assertEquals(i_expected=0, i_actual=&rc., i_desc=Character variable age does not exist)
9%endTestcase;
4 Bloque de código
MACRO CALL
Explicación :
Este bloque prueba la existencia de la variable 'name' en 'sashelp.class' sin especificar un tipo. La macro `_existVar` se llama sin el parámetro de tipo. El resultado esperado es 1 (verdadero), lo que valida que la variable 'name' existe en el conjunto de datos 'sashelp.class'.
¡Copiado!
1%initTestcase(i_object=_existVar.sas, i_desc=Test for variable name)
2%let rc=%_existVar (sashelp.class
3 ,name
4 );
5%endTestcall;
6 
7%assertEquals(i_expected=1, i_actual=&rc., i_desc=Variable name does not exist)
8%endTestcase;
5 Bloque de código
MACRO CALL
Explicación :
Marca el final del escenario de prueba SASUnit. Esto significa que todos los casos de prueba asociados a este escenario se han ejecutado y los resultados se pueden compilar.
¡Copiado!
1%endScenario();
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.
Información de copyright : Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de This file is part of SASUnit, the Unit testing framework for SAS(R) programs. For copyright information and terms of usage under the GNU Lesser General Public License see included file README.md or https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.