Publicado el :
Prueba CREATION_INTERNE

Prueba de la macro _detectSymbols

Este código también está disponible en: Français Deutsch English
En espera de validación
Esta prueba utiliza el framework SASUnit. Inicializa un escenario de prueba y declara variables macro globales `g_my_error`, `g_my_warning` y `g_my_note`. Estas variables se reinician a `_NONE_`. La macro `_detectSymbols` se llama con estas variables como parámetros de salida. Luego, el script verifica, mediante aserciones, que `g_my_error` se haya definido como 'ERROR', `g_my_warning` como 'WARNING' y `g_my_note` como 'NOTE', lo que atestigua el correcto funcionamiento de `_detectSymbols`. Este código es compatible con SAS© Viya 4 ya que utiliza funcionalidades estándar del lenguaje macro SAS©.
Análisis de datos

Type : CREATION_INTERNE


No se utilizan datos externos. El script trabaja con variables macro globales definidas y manipuladas directamente dentro del código para simular y verificar los estados de los símbolos (error, advertencia, nota).

1 Bloque de código
Declaraciones e Inicializaciones Macro Data
Explicación :
Este bloque inicializa el escenario de prueba y declara las variables macro globales `g_my_error`, `g_my_warning` y `g_my_note`. Estas variables se inicializan a `_NONE_` antes de la llamada a la macro probada, para asegurar un estado inicial conocido.
¡Copiado!
1%initScenario (i_desc=Test of _detectSymbols.sas)
2 
3%global
4 g_my_error
5 g_my_warning
6 g_my_note
7;
8 
9%let g_my_error = _NONE_;
10%let g_my_warning = _NONE_;
11%let g_my_note = _NONE_;
2 Bloque de código
Ejecución del Caso de Prueba
Explicación :
Se define el caso de prueba y se llama a la macro `_detectSymbols`. Las variables macro globales declaradas previamente se pasan por referencia (`r_error_symbol`, `r_warning_symbol`, `r_note_symbol`), lo que permite a `_detectSymbols` modificar sus valores según su lógica interna. `%endTestcall` marca el final de la ejecución del código probado.
¡Copiado!
1%initTestcase(i_object=_detectSymbols.sas, i_desc=Test with correct call);
2%_detectSymbols(r_error_symbol=g_my_error, r_warning_symbol=g_my_warning, r_note_symbol=g_my_note);
3%endTestcall;
4 
3 Bloque de código
Aserciones SASUnit
Explicación :
Se utilizan tres aserciones `%assertEquals` para verificar que la macro `_detectSymbols` haya actualizado correctamente las variables macro globales. Se espera que `g_my_error` contenga 'ERROR', `g_my_warning` contenga 'WARNING' y `g_my_note` contenga 'NOTE'. `%endTestcase` cierra el caso de prueba individual.
¡Copiado!
1%assertEquals (i_actual = &g_my_error.
2 ,i_expected = ERROR
3 ,i_desc = ERROR-Symbol is SET properly
4 );
5
6%assertEquals (i_actual = &g_my_warning.
7 ,i_expected = WARNING
8 ,i_desc = WARNING-Symbol is SET properly
9 );
10%assertEquals (i_actual = &g_my_note.
11 ,i_expected = NOTE
12 ,i_desc = NOTE-Symbol is SET properly
13 );
14%endTestcase;
4 Bloque de código
Fin del Escenario SASUnit
Explicación :
Este bloque marca el final del escenario de prueba global definido por `%initScenario`. Es un comando de cierre estándar del framework SASUnit.
¡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. Este archivo forma parte de SASUnit, el framework de prueba unitaria para programas SAS(R). Para obtener información sobre derechos de autor y las condiciones de uso bajo la Licencia Pública General Menor de GNU, consulte el archivo README.md incluido o https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.