Publié le :
Test CREATION_INTERNE

Test de la macro _nobs.sas

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script utilise le framework SASUnit pour tester la macro '_nobs.sas©'. Il vérifie sa fonctionnalité pour compter les observations d'un jeu de données existant avec des observations (test1), un jeu de données vide (test2), et un jeu de données inexistant (test3). Les assertions sont utilisées pour confirmer que la macro retourne le nombre d'observations attendu dans chaque cas.
Analyse des données

Type : CREATION_INTERNE


Les jeux de données 'test1' et 'test2' sont créés en interne dans le script pour simuler différents scénarios de test. Le jeu de données 'test3' est intentionnellement non existant pour tester un cas limite.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée un jeu de données temporaire nommé 'test1' qui contient 100 observations. Il sert de donnée de référence pour un test de comptage d'observations standard.
Copié !
1DATA test1;
2 DO i=1 to 100;
3 OUTPUT;
4 END;
5RUN;
2 Bloc de code
Macro SASUnit
Explication :
Ce bloc exécute un cas de test SASUnit. Il appelle la macro '%_nobs' sur le jeu de données 'test1' et utilise '%assertEquals' pour vérifier que le nombre d'observations retourné est 100, comme attendu. '%assertLog()' vérifie qu'aucune erreur inattendue n'est présente dans le log SAS.
Copié !
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 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée un jeu de données temporaire nommé 'test2' qui est intentionnellement vide (0 observation). Il est utilisé pour tester le comportement de la macro '_nobs' avec un jeu de données ne contenant aucune observation.
Copié !
1DATA test2;
2 stop;
3RUN;
4 Bloc de code
Macro SASUnit
Explication :
Ce bloc de test vérifie la macro '%_nobs' avec le jeu de données vide 'test2'. Il s'attend à ce que la macro retourne 0 observation, ce qui est validé par '%assertEquals'.
Copié !
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 Bloc de code
Macro SASUnit
Explication :
Ce bloc de test évalue le comportement de la macro '%_nobs' lorsqu'elle est appelée avec un jeu de données ('test3') qui n'existe pas. L'assertion '%assertEquals' vérifie que la macro gère ce cas en retournant 0 observation.
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations 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/.