Cette macro, 'assertTrue', fait partie du framework SASUNIT et est conçue pour vérifier si une condition donnée est évaluée à 'vraie'. Pour les types numériques, une valeur de 0 est considérée comme fausse, tandis que toute autre valeur est vraie. Pour les types caractères, une chaîne vide ou composée uniquement d'espaces, ainsi que le mot 'false' (insensible à la casse), sont considérés comme faux. Toutes les autres chaînes sont vraies. La macro initialise des variables locales, vérifie la séquence d'appel via %_checkCallingSequence, puis procède à l'évaluation du paramètre i_cond selon son type (numérique ou caractère). Enfin, elle appelle la macro interne %_asserts pour enregistrer le résultat de l'assertion.
Analyse des données
Type : CREATION_INTERNE
Le code évalue la variable d'entrée 'i_cond', qui est une condition passée en paramètre. Il ne lit pas de données directement depuis des fichiers ou des bases de données externes, mais traite une valeur ou une expression interne au script.
1 Bloc de code
Macro SAS
Explication : Ce bloc définit la macro 'assertTrue' avec deux paramètres : 'i_cond' (la condition à évaluer) et 'i_desc' (une description de l'assertion). Il déclare la variable globale 'g_inTestCase' et appelle '%endTestCall' pour la gestion des messages. La macro effectue ensuite une vérification de la séquence d'appel via '%_checkCallingSequence' pour s'assurer qu'elle est utilisée correctement dans un contexte d'assertion. Des variables locales sont déclarées pour stocker les résultats intermédiaires de l'évaluation.
%IF %_checkCallingSequence(i_callerType=assert) NE 0 %THEN %DO;
9
%RETURN;
10
%END;
11
12
%LOCAL l_result l_expected l_actual;
2 Bloc de code
Macro SAS (Logique conditionnelle)
Explication : Ce bloc évalue la condition 'i_cond' si elle est de type caractère, déterminé par la macro '%datatyp'. Il définit 'l_expected' à 'true'. Si la chaîne est vide, 'l_result' est mis à 2 (faux). Sinon, la chaîne est convertie en minuscules. Si elle est 'true' (vrai), 'l_result' est 0 (vrai); si elle est 'false' (faux), 'l_result' est 2 (faux). Si la chaîne n'est ni 'true' ni 'false', elle est nettoyée des espaces avec '%sysfunc(strip())', et 'l_result' est défini en fonction de sa longueur après nettoyage : 0 si elle n'est pas vide (vrai), 2 si elle est vide (faux).
Explication : Ce bloc évalue la condition 'i_cond' si elle est de type numérique. Il définit 'l_expected' à 1. La valeur de 'i_cond' est stockée dans 'l_actual'. Si 'i_cond' est égal à 0, 'l_result' est défini à 2 (faux). Dans tous les autres cas (valeur numérique non nulle), 'l_result' est défini à 0 (vrai).
Explication : Ce dernier bloc appelle la macro interne '%_asserts'. C'est le cœur de l'enregistrement de l'assertion. Il lui passe le type d'assertion ('assertTrue'), la valeur attendue ('l_expected'), la valeur actuelle ('l_actual'), la description de l'assertion ('i_desc') et le résultat de l'évaluation ('l_result'). Cette macro '%_asserts' est responsable de la gestion des résultats des tests et de leur reporting.
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.