Le script met en œuvre deux scénarios de test distincts. Le premier scénario utilise le jeu de données `sashelp.cars` pour illustrer la conversion en format `CARDS` et la recréation du jeu de données, suivie d'une vérification de l'intégrité des données à l'aide de `PROC COMPARE`. Le second scénario, quant à lui, crée un jeu de données binaire en interne et applique le même processus de conversion, de recréation et de comparaison, garantissant l'exactitude des données binaires. Chaque test est complété par une assertion utilisant la macro `mp_assert` pour valider formellement les résultats des comparaisons de jeux de données.
Analyse des données
Type : MIXTE
Le script exploite le jeu de données intégré `sashelp.cars` et génère un jeu de données `work.binarybase` en interne via une étape DATA. Il n'y a pas de dépendance à des données externes non gérées par le script ou non issues de bibliothèques SAS standard.
1 Bloc de code
Macro mp_ds2cards et PROC COMPARE
Explication : Ce bloc illustre la conversion du jeu de données `sashelp.cars` en un fichier `CARDS` temporaire (`cars.sas`) à l'aide de la macro `mp_ds2cards`. Le jeu de données est ensuite recréé sous le nom `work.test` via une instruction `%inc`. Une `PROC COMPARE` est utilisée pour vérifier l'identité des jeux de données originaux et recréés, et la macro `mp_assert` valide le résultat de cette comparaison.
desc=sashelp.cars is identical except for ds label,
14
outds=work.test_results
15
)
2 Bloc de code
DATA STEP, Macro mp_ds2cards et PROC COMPARE Data
Explication : Ce bloc commence par la création d'un jeu de données `work.binarybase` contenant une séquence de données binaires. La macro `mp_ds2cards` est ensuite appelée pour convertir `work.binarybase` en un fichier `CARDS` (`c2.sas`), qui est ensuite utilisé pour recréer le jeu de données sous `work.binarycompare`. Pour finir, `PROC COMPARE` vérifie l'identité parfaite entre le jeu de données original et sa version recréée, avec `mp_assert` confirmant l'absence de différences (code de retour `SYSINFO=0`).
Copié !
data work.binarybase;
format bin $hex500. z $hex.;
do x=1 to 250;
z=byte(x);
bin=trim(bin)!!z;
output;
end;
run;
%mp_ds2cards(base_ds=work.binarybase
, showlog=YES
, cards_file="%sysfunc(pathname(work))/c2.sas"
, tgt_ds=work.binarycompare
, append=
)
%inc "%sysfunc(pathname(work))/c2.sas"/source2 lrecl=32767;
proc compare base=work.binarybase compare=work.binarycompare;
run;
%mp_assert(
iftrue=(&sysinfo=0),
desc=work.binarybase dataset is identical,
outds=work.test_results
)
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 Ce fichier fait partie de SASUnit, le cadre de test unitaire pour les programmes SAS(R). Pour les informations de copyright et les conditions d'utilisation sous la GNU Lesser General Public License, voir le fichier README.md inclus ou https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.
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.