Publicado el :
Prueba CREATION_INTERNE

Prueba de la macro _nobs.sas

Este código también está disponible en: Français Deutsch English
En espera de validación
Este script utiliza el framework SASUnit para probar la macro '_nobs.sas©'. Verifica su funcionalidad para contar las observaciones de un conjunto de datos existente con observaciones (test1), un conjunto de datos vacío (test2) y un conjunto de datos inexistente (test3). Se utilizan aserciones para confirmar que la macro devuelve el número esperado de observaciones en cada caso.
Análisis de datos

Type : CREATION_INTERNE


Los conjuntos de datos 'test1' y 'test2' se crean internamente en el script para simular diferentes escenarios de prueba. El conjunto de datos 'test3' no existe intencionalmente para probar un caso límite.

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque DATA STEP crea un conjunto de datos temporal llamado 'test1' que contiene 100 observaciones. Sirve como dato de referencia para una prueba estándar de conteo de observaciones.
¡Copiado!
1DATA test1;
2 DO i=1 to 100;
3 OUTPUT;
4 END;
5RUN;
2 Bloque de código
Macro SASUnit
Explicación :
Este bloque ejecuta un caso de prueba SASUnit. Llama a la macro '%_nobs' en el conjunto de datos 'test1' y usa '%assertEquals' para verificar que el número de observaciones devuelto es 100, como se esperaba. '%assertLog()' verifica que no haya errores inesperados en el log de SAS.
¡Copiado!
1%initTestcase(i_object=_nobs.sas, i_desc=standard case with 100 obs)
2%LET g_nobs = %_nobs(test1);
3%assertEquals(i_expected=100, i_actual=&g_nobs, i_desc=number of observations must be 100)
4%assertLog()
5%endTestcase()
3 Bloque de código
DATA STEP Data
Explicación :
Este bloque DATA STEP crea un conjunto de datos temporal llamado 'test2' que está intencionalmente vacío (0 observaciones). Se utiliza para probar el comportamiento de la macro '_nobs' con un conjunto de datos que no contiene ninguna observación.
¡Copiado!
1DATA test2;
2 stop;
3RUN;
4 Bloque de código
Macro SASUnit
Explicación :
Este bloque de prueba verifica la macro '%_nobs' con el conjunto de datos vacío 'test2'. Se espera que la macro devuelva 0 observaciones, lo cual se valida mediante '%assertEquals'.
¡Copiado!
1%initTestcase(i_object=_nobs.sas, i_desc=dataset with 0 obs)
2%LET g_nobs = %_nobs(test2);
3%assertEquals(i_expected=0, i_actual=&g_nobs, i_desc=number of observations must be 0)
4%assertLog()
5 Bloque de código
Macro SASUnit
¡Copiado!
1%initTestcase(i_object=_nobs.sas, i_desc=dataset not existing)
2%LET g_nobs = %_nobs(test3);
3%assertEquals(i_expected=0, i_actual=&g_nobs, i_desc=number of observations must be 0)
4%assertLog()
5%endTestcase;
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/.