Macros for SAS Application Developers
https://github.com/sasjs/core
Loading...
Searching...
No Matches
mf_getuniquename.test.sas
Go to the documentation of this file.
1/**
2 @file
3 @brief Testing mf_getuniquename macro
4
5 <h4> SAS Macros </h4>
6 @li mf_getuniquename.sas
7 @li mp_assert.sas
8 @li mp_assertscope.sas
9
10**/
11
12%mp_assertscope(SNAPSHOT)
13%put scope check:%mf_getuniquename();
14%mp_assertscope(COMPARE,
15 desc=Checking that mf_getuniquename does not leak scope,
16 outds=work.test_results
17)
18
19%let name1=%mf_getuniquename();
20%let name2=%mf_getuniquename();
21%let name3=%mf_getuniquename(prefix=XX);
22%let dashpos=%sysfunc(index(&name1,-));
23
24%mp_assert(
25 iftrue=(%length(&name1)=32),
26 desc=Checking the name is 32 characters long,
27 outds=work.test_results
28)
29
30%mp_assert(
31 iftrue=(%substr(&name1,1,2)=MC),
32 desc=Checking the default prefix is MC,
33 outds=work.test_results
34)
35
36%mp_assert(
37 iftrue=(%substr(&name3,1,2)=XX),
38 desc=Checking a supplied prefix is used,
39 outds=work.test_results
40)
41
42%mp_assert(
43 iftrue=(%length(&name3)=32),
44 desc=Checking the name stays 32 characters with a prefix,
45 outds=work.test_results
46)
47
48%mp_assert(
49 iftrue=(&name1 ne &name2),
50 desc=Checking two calls return different names,
51 outds=work.test_results
52)
53
54%mp_assert(
55 iftrue=(&dashpos=0),
56 desc=Checking the name contains no hyphen so it is a valid SAS name,
57 outds=work.test_results
58)