Scénario de test & Cas d'usage
Exécution de fonctions SAS FCMP dans l'environnement CAS.
Découvrir toutes les actions de fcmpactAucune donnée initiale n'est requise, le test se concentre sur la gestion des tables de fonctions.
| 1 | /* Pas de données nécessaires pour ce scénario */ |
| 1 | PROC CAS; |
| 2 | fcmpact.addRoutines / |
| 3 | routineCode = { |
| 4 | 'function normalize_str(s$) $; return(upcase(compbl(s))); endsub;', |
| 5 | 'function is_positive(n); return(n > 0); endsub;' |
| 6 | }, |
| 7 | package = 'util_lib_v1', |
| 8 | funcTable = {name='lib_utilitaires', caslib='CASUSER', replace=true}, |
| 9 | saveTable = true; |
| 10 | QUIT; |
| 1 | PROC CAS; |
| 2 | fcmpact.addRoutines / |
| 3 | routineCode = { |
| 4 | 'function safe_divide(numerator, denominator); |
| 5 | if (denominator = 0) then return(.); |
| 6 | else return(numerator / denominator); |
| 7 | endsub;' |
| 8 | }, |
| 9 | package = 'util_lib_v1', |
| 10 | funcTable = {name='lib_utilitaires', caslib='CASUSER'}, |
| 11 | appendTable = true, |
| 12 | saveTable = true; /* On sauvegarde à nouveau la table enrichie */ |
| 13 | QUIT; |
| 1 | PROC CAS; |
| 2 | datastep.runCode / |
| 3 | code = 'data CASUSER.VERIF_LIB; |
| 4 | str_test = normalize_str(" test string "); |
| 5 | pos_test = is_positive(-5); |
| 6 | div_test = safe_divide(10, 0); |
| 7 | output; |
| 8 | run;'; |
| 9 | QUIT; |
L'action de l'étape 2 s'exécute avec succès, en ajoutant la nouvelle fonction à la table `lib_utilitaires` sans supprimer les anciennes. La table `VERIF_LIB` est créée et contient une ligne avec les résultats des trois fonctions : `str_test`='TEST STRING', `pos_test`=0 (faux), et `div_test`= . (valeur manquante), prouvant que l'ancienne et la nouvelle fonction coexistent et fonctionnent.