Fehler   : 0
Warnungen: 0

1                                           Das SAS System                11:39 Friday, March 21, 2014
 
NOTE: Copyright (c) 2002-2010 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) Proprietary Software 9.3 (TS1M2)
      Licensed to HMS GMBH WINDOWS SERVER CLIENT 64BIT, Site 70128358.
NOTE: This session is executing on the X64_7PRO  platform.
 
 
 
NOTE: Enhanced analytical products:
 
SAS/STAT 12.1, SAS/ETS 12.1, SAS/OR 12.1, SAS/IML 12.1, SAS/QC 12.1
 
NOTE: SAS initialization used:
      real time           0.10 seconds
      cpu time            0.09 seconds
 
NOTE: The macro _SCENARIO completed compilation without errors.
      56 instructions 1692 bytes.
MPRINT(_SCENARIO):  =MAX;
NOTE: The macro _INITERRORHANDLER completed compilation without errors.
      24 instructions 444 bytes.
MPRINT(_SCENARIO):  ;
NOTE: The macro _HANDLEERROR completed compilation without errors.
      70 instructions 1712 bytes.
NOTE: The macro _EXISTDIR completed compilation without errors.
      40 instructions 824 bytes.
MPRINT(_SCENARIO):   LIBNAME target "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de";
NOTE: Libref TARGET was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de
NOTE: The macro _LOADENVIRONMENT completed compilation without errors.
      213 instructions 7032 bytes.
NOTE: The macro _NOBS completed compilation without errors.
      32 instructions 640 bytes.
MPRINT(_LOADENVIRONMENT):   DATA _null_;
MPRINT(_LOADENVIRONMENT):   SET target.tsu;
MPRINT(_LOADENVIRONMENT):   call symput ('g_project' , tsu_project);
MPRINT(_LOADENVIRONMENT):   call symput ('g_root' , tsu_root);
MPRINT(_LOADENVIRONMENT):   call symput ('g_sasunitroot' , tsu_sasunitroot);
MPRINT(_LOADENVIRONMENT):   call symput ('g_sasunit' , tsu_sasunit);
MPRINT(_LOADENVIRONMENT):   call symput ('g_sasunit_os' , tsu_sasunit_os);
MPRINT(_LOADENVIRONMENT):   call symput ('g_sasautos' , tsu_sasautos);
MPRINT(_LOADENVIRONMENT):   call symput ('g_sasautos0' , tsu_sasautos);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos1" , tsu_sasautos1);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos2" , tsu_sasautos2);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos3" , tsu_sasautos3);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos4" , tsu_sasautos4);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos5" , tsu_sasautos5);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos6" , tsu_sasautos6);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos7" , tsu_sasautos7);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos8" , tsu_sasautos8);
MPRINT(_LOADENVIRONMENT):   call symput ("g_sasautos9" , tsu_sasautos9);
MPRINT(_LOADENVIRONMENT):   call symput ('g_autoexec' , tsu_autoexec);
MPRINT(_LOADENVIRONMENT):   call symput ('g_sascfg' , tsu_sascfg);
MPRINT(_LOADENVIRONMENT):   call symput ('g_sasuser' , tsu_sasuser);
2                                                                                                                        Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_LOADENVIRONMENT):   call symput ('g_testdata' , tsu_testdata);
MPRINT(_LOADENVIRONMENT):   call symput ('g_refdata' , tsu_refdata);
MPRINT(_LOADENVIRONMENT):   call symput ('g_doc' , tsu_doc);
MPRINT(_LOADENVIRONMENT):   call symput ('g_testcoverage', put (tsu_testcoverage, z1.));
MPRINT(_LOADENVIRONMENT):   call symput ('g_verbose' , put (tsu_verbose, z1.));
MPRINT(_LOADENVIRONMENT):   RUN;
 
NOTE: There were 1 observations read from the data set TARGET.TSU.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
NOTE: The macro _ABSPATH completed compilation without errors.
      54 instructions 1224 bytes.
NOTE: The macro _DETECTSYMBOLS completed compilation without errors.
      39 instructions 1268 bytes.
MPRINT(_DETECTSYMBOLS):   proc printto log=work.detect.note.log new;
MPRINT(_DETECTSYMBOLS):   run;
 
NOTE: PROZEDUR PRINTTO used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_DETECTSYMBOLS):   filename _detect catalog "work.detect.note.log";
MPRINT(_DETECTSYMBOLS):   data _null_;
MPRINT(_DETECTSYMBOLS):   infile _detect truncover;
MPRINT(_DETECTSYMBOLS):   input line $char256.;
MPRINT(_DETECTSYMBOLS):   call symput ("g_note", scan(line, 1, ':'));
MPRINT(_DETECTSYMBOLS):   stop;
MPRINT(_DETECTSYMBOLS):   run;
 
NOTE: The infile _DETECT is:
      Catalog Name=WORK.DETECT.NOTE.LOG,
      Katalogseitengröße=4096,
      Anzahl der Katalogseiten=4,
      Erstellt=Freitag, 21. März 2014 11.39 Uhr,
      Zuletzt geändert=Freitag, 21. März 2014 11.39 Uhr,
      Dateiname=C:\Users\REDMIN~1\AppData\Local\Temp\SAS Temporary Files\_TD3412_HD1PCMS0104_\detect.sas7bcat,
      Erstellt mit Release=9.0301M2,
      Erstellt mit Betriebssystem=X64_7PRO
 
NOTE: 1 record was read from the infile _DETECT.
      The minimum record length was 49.
      The maximum record length was 49.
3                                                                                                                        Das SAS System                                                                                             11:39 Friday, March 21, 20
 
NOTE: DATA-Anweisung used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(_DETECTSYMBOLS):   filename _detect;
NOTE: Fileref _DETECT has been deassigned.
MPRINT(_DETECTSYMBOLS):   proc datasets lib=work nolist;
MPRINT(_DETECTSYMBOLS):   delete detect / memtype=catalog;
MPRINT(_DETECTSYMBOLS):   quit;
 
NOTE: Deleting WORK.DETECT (memtype=CATALOG).
NOTE: PROZEDUR DATASETS used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(_LOADENVIRONMENT):   LIBNAME testout "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst";
NOTE: Libref TESTOUT was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst
MPRINT(_LOADENVIRONMENT):   FILENAME testout "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst";
MPRINT(_LOADENVIRONMENT):   LIBNAME testdata "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/dat";
NOTE: Libref TESTDATA was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\dat
MPRINT(_LOADENVIRONMENT):   FILENAME testdata "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/dat";
MPRINT(_LOADENVIRONMENT):   LIBNAME refdata "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/dat";
NOTE: Libname REFDATA bezieht sich auf dieselbe physische Bibliothek wie TESTDATA.
NOTE: Libref REFDATA was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\dat
MPRINT(_LOADENVIRONMENT):   FILENAME refdata "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/dat";
GLOBAL G_SASUSER
GLOBAL G_TESTDATA c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\dat
GLOBAL G_AUTOEXEC
GLOBAL G_DOC
GLOBAL G_ERROR ERROR
GLOBAL G_PRINTFILE
GLOBAL G_ERROR_CODE
GLOBAL G_ERROR_MSG
GLOBAL G_ERROR_MACRO
GLOBAL G_ROOT c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3
GLOBAL G_TESTOUT c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst
GLOBAL G_LOG c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log
GLOBAL G_SASCFG c:.jenkinsjobsSASUnit Build Release ZIPFileworkspacev1.3/examplebinsasunit.9.3.windows.de.cfg
GLOBAL G_SASAUTOS c:.jenkinsjobsSASUnit Build Release ZIPFileworkspacev1.3/examplesaspgm
GLOBAL G_SASAUTOS0 c:.jenkinsjobsSASUnit Build Release ZIPFileworkspacev1.3/examplesaspgm
GLOBAL G_SASAUTOS1
GLOBAL G_SASAUTOS2
GLOBAL G_SASAUTOS3
GLOBAL G_SASAUTOS4
GLOBAL G_SASAUTOS5
GLOBAL G_SASAUTOS6
4                                                                                                                        Das SAS System                                                                                             11:39 Friday, March 21, 20
 
GLOBAL G_SASAUTOS7
GLOBAL G_SASAUTOS8
GLOBAL G_SASAUTOS9
GLOBAL G_NOTE NOTE
GLOBAL G_VERBOSE 1
GLOBAL G_REFDATA c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\dat
GLOBAL G_TESTCOVERAGE 1
GLOBAL G_TARGET c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de
GLOBAL G_WARNING WARNING
GLOBAL G_PROJECT SASUnit Examples
GLOBAL G_SASUNIT c:.jenkinsjobsSASUnit Build Release ZIPFileworkspacev1.3/saspgmsasunit
GLOBAL G_SASUNIT_OS c:.jenkinsjobsSASUnit Build Release ZIPFileworkspacev1.3/saspgmsasunitwindows
GLOBAL G_WORK C:\Users\REDMIN~1\AppData\Local\Temp\SAS Temporary Files\_TD3412_HD1PCMS0104_
GLOBAL G_LOGFILE
GLOBAL G_SASUNITROOT c:.jenkinsjobsSASUnit Build Release ZIPFileworkspacev1.3
MPRINT(_LOADENVIRONMENT):   OPTIONS MAUTOSOURCE SASAUTOS=(SASAUTOS "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/saspgm/sasunit" "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/saspgm/sasunit/windows"
"c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/saspgm" );
NOTE: The macro _OSCMDS completed compilation without errors.
      35 instructions 808 bytes.
MPRINT(_SCENARIO):  ;
1          /**
2          \file
3          \ingroup    SASUNIT_EXAMPLES_TEST
4
5          \brief      Tests for buidling a database
6
7                      Example for a test scenario with the following features:
8                      - Creating three tables for bulding up a sample database.
9                      - These are the created tables:
10                        - Customer\n Table containing 5 customers.\n Variables are CustomerNumber and CustomerName.\n
11                          Primary key ist CustomerNumber.
12                        - Contracts\n Table containing 8 contracts.\n Variales are ContractNumer and ContractType.\n
13                          Primary key is ContractNumber. ContractType should range from 1 to 3.
14                        - CustomerContracts\n Table mapping contracts to customers.\n Variables are CustomerNumber and ContractNumber.\n
15                          Primary key ist ContractNumber and CustomerNumber.
16                     - All foreign key relations are checked
17                     - A combined dataset is created
18                        - Combined datasets should containg 8 rows.\n Primary key is ContractNumber and CustomerNumber.
19                        - Checking if there are customers without contracts and vice versa.
20
21         \version    \$Revision: 315 $
22         \author     \$Author: klandwich $
23         \date       \$Date: 2014-02-28 10:25:18 +0100 (Fr, 28 Feb 2014) $
24         \sa         For further information please refer to <A href="https://sourceforge.net/p/sasunit/wiki/User's%20Guide/" target="_blank">SASUnit User's Guide</A>
25         \sa         \$HeadURL: https://svn.code.sf.net/p/sasunit/code/trunk/example/saspgm/database_test.sas $
26         \copyright  Copyright 2010, 2012 HMS Analytical Software GmbH.
27                     This file is part of SASUnit, the Unit testing framework for SAS(R) programs.
28                     For terms of usage under the GPL license see included file readme.txt
29                     or https://sourceforge.net/p/sasunit/wiki/readme.v1.2/.
30         */ /** \cond */
31
32         /*-- Creation of base datasets -----------------------------------------*/
33         %initTestcase(i_object=basedatasets.sas, i_desc=Creation of base datasets)
NOTE: The macro INITTESTCASE completed compilation without errors.
5                                                                                                                        Das SAS System                                                                                             11:39 Friday, March 21, 20
 
      99 instructions 2784 bytes.
NOTE: The macro LOWCASE completed compilation without errors.
      29 instructions 504 bytes.
NOTE: The macro _GETAUTOCALLNUMBER completed compilation without errors.
      61 instructions 1180 bytes.
MPRINT(INITTESTCASE):   PROC SQL NOPRINT;
MPRINT(INITTESTCASE):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid = 002;
MPRINT(INITTESTCASE):   INSERT INTO target.cas VALUES ( 002 ,1 ,2 ,"basedatasets.sas" ,"Creation of base datasets" ,
MPRINT(INITTESTCASE):  "" ,1711021161.747 ,. ,. );
NOTE: 1 row was inserted into TARGET.CAS.
 
MPRINT(INITTESTCASE):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
========================== test case 1 ======================================================
MPRINT(INITTESTCASE):   PROC PRINTTO NEW LOG="c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log/002_001.log" PRINT="c:\.jenkins\jobs\SASUnit Build Release
ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst/002_001.lst" ;
MPRINT(INITTESTCASE):   RUN;
 
NOTE: PROZEDUR PRINTTO used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCALL):   PROC SQL NOPRINT;
MPRINT(ENDTESTCALL):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCALL):   PROC SQL NOPRINT;
MPRINT(ENDTESTCALL):   UPDATE target.cas SET cas_end = 1711021161.762 WHERE cas_scnid = 002 AND cas_id = 1;
NOTE: 1 row was updated in TARGET.CAS.
 
MPRINT(ENDTESTCALL):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCALL):   PROC SQL NOPRINT;
MPRINT(ENDTESTCALL):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(ENDTESTCALL):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
7                                                                                                                        Das SAS System                                                                                             11:39 Friday, March 21, 20
 
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCALL):   DATA _null_;
MPRINT(ENDTESTCALL):   INFILE "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst/002_001.lst";
MPRINT(ENDTESTCALL):   INPUT;
MPRINT(ENDTESTCALL):   CALL symput ('l_filled','1');
MPRINT(ENDTESTCALL):   STOP;
MPRINT(ENDTESTCALL):   RUN;
 
NOTE: The infile "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst/002_001.lst" is:
      Dateiname=c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\002_001.lst,
      RECFM=V,LRECL=256,Dateigröße (Byte)=0,
      Zuletzt geändert=21. März 2014 11.39 Uhr,
      Erstellungsuhrzeit=21. März 2014 11.39 Uhr
 
NOTE: 0 records were read from the infile "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst/002_001.lst".
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE: The macro _DELFILE completed compilation without errors.
      26 instructions 552 bytes.
MPRINT(ENDTESTCALL):   ODS _ALL_ CLOSE;
36
37         %assertTableExists (i_libref =work
NOTE: The macro ASSERTTABLEEXISTS completed compilation without errors.
      170 instructions 4548 bytes.
38                            ,i_memname=Customer
39                            ,i_desc   =Table was successfuly created?
40                            )
NOTE(SASUNIT): DATA work.Customer exists.
MPRINT(ASSERTTABLEEXISTS):   data _null_ ;
MPRINT(ASSERTTABLEEXISTS):   length _crdate _modate $20;
MPRINT(ASSERTTABLEEXISTS):   dsid=open("work.Customer") ;
MPRINT(ASSERTTABLEEXISTS):   _crdate = attrn(dsid,'CRDTE');
MPRINT(ASSERTTABLEEXISTS):   _modate = attrn(dsid,'MODTE');
MPRINT(ASSERTTABLEEXISTS):   dsid=close(dsid) ;
MPRINT(ASSERTTABLEEXISTS):   call symput('l_date',catt("#",_crdate,"#",_modate));
MPRINT(ASSERTTABLEEXISTS):   run ;
 
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      40:107   40:147
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTTABLEEXISTS):  ;
NOTE: The macro _ASSERTS completed compilation without errors.
      152 instructions 4104 bytes.
NOTE(SASUNIT): assertTableExists: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
8                                                                                                                        Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,1 ,"assertTableExists" ,"Table was successfuly created? " ,"DATA:work.Customer:0 " ,"1#      1711021161.747#      1711021161.747 " ,0 ,"assertTableExists: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.1 (assertTableExists) =====================================
41         %assertRecordCount (i_libref    =work
NOTE: The macro ASSERTRECORDCOUNT completed compilation without errors.
      144 instructions 4060 bytes.
42                            ,i_memname   =Customer
43                            ,i_recordsExp=5
44                            ,i_desc      =Does table contain all expected Rows?
45                            )
MPRINT(ASSERTRECORDCOUNT):   DATA _NULL_;
MPRINT(ASSERTRECORDCOUNT):   IF (INPUT(5, 32.) =.) then call symput('l_actual',"-3");
MPRINT(ASSERTRECORDCOUNT):   ELSE IF (5 < 0) then call symput('l_actual',"-4");
MPRINT(ASSERTRECORDCOUNT):  ;
MPRINT(ASSERTRECORDCOUNT):   RUN;
 
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      45:1
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   DATA _NULL_;
MPRINT(ASSERTRECORDCOUNT):   IF NOT("EQ" IN ("EQ", "NE", "GT", "LT", "GE", "LE", "=", "<", ">", ">=", "<=", "~=")) THEN call symput('l_actual',"-5");
MPRINT(ASSERTRECORDCOUNT):   RUN;
 
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   PROC SQL noprint;
MPRINT(ASSERTRECORDCOUNT):   select count(*) into :l_actual from work.Customer where 1 ;
MPRINT(ASSERTRECORDCOUNT):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   *** update result in test database ***;
NOTE(SASUNIT): assertRecordCount: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
9                                                                                                                        Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,2 ,"assertRecordCount" ,"Does table contain all expected Rows? " ,"EQ 5 " ,"       5 " ,0 ,"assertRecordCount: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.2 (assertRecordCount) =====================================
46         %assertPrimaryKey (i_library  =work
NOTE: The macro ASSERTPRIMARYKEY completed compilation without errors.
      430 instructions 11752 bytes.
47                           ,i_dataset  =Customer
48                           ,i_variables=CustomerNumber
49                           ,i_desc     =Is the generated key unique?
50                           )
NOTE: The macro TRIM completed compilation without errors.
      42 instructions 800 bytes.
MPRINT(ASSERTPRIMARYKEY):   PROC CONTENTS data=work.Customer out=work._Variables NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   RUN;
 
NOTE: The data set WORK._VARIABLES has 2 observations and 40 variables.
NOTE: PROZEDUR CONTENTS used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   QUIT;
MPRINT(ASSERTPRIMARYKEY):   PROC SQL NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   select count (*) into :l_anzahlObs from work._Variables where upcase(name) in ("CUSTOMERNUMBER");
MPRINT(ASSERTPRIMARYKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE: The macro _GETSCENARIOTESTID completed compilation without errors.
      137 instructions 3692 bytes.
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(cas_id) INTO :l_casid_gti FROM target.cas WHERE cas_scnid = 002;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(tst_id) INTO :l_tstid_gti FROM target.tst WHERE tst_scnid = 002 AND tst_casid= 1;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
10                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):  ;
NOTE: The macro _CREATETESTSUBFOLDER completed compilation without errors.
      65 instructions 1848 bytes.
NOTE: The macro _GETTESTSUBFOLDER completed compilation without errors.
      112 instructions 2920 bytes.
MPRINT(_CREATETESTSUBFOLDER):  ;
NOTE: The macro _MKDIR completed compilation without errors.
      26 instructions 616 bytes.
MPRINT(_MKDIR):   options noxwait xsync xmin;
MPRINT(_MKDIR):   options XWAIT XSYNC NOXMIN;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(ASSERTPRIMARYKEY):  ;
MPRINT(ASSERTPRIMARYKEY):   libname _apk "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/doc/sasunit/de/tst/_002_001_003_assertprimarykey";
NOTE: Libref _APK was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\_002_001_003_assertprimarykey
MPRINT(ASSERTPRIMARYKEY):   proc sort data=work.Customer out=work._sorted;
MPRINT(ASSERTPRIMARYKEY):   by CustomerNumber;
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 5 observations read from the data set WORK.CUSTOMER.
NOTE: The data set WORK._SORTED has 5 observations and 2 variables.
NOTE: PROZEDUR SORT used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data work._notUnique;
MPRINT(ASSERTPRIMARYKEY):   set work._sorted;
MPRINT(ASSERTPRIMARYKEY):   by CustomerNumber;
MPRINT(ASSERTPRIMARYKEY):   if not (first.CustomerNumber AND last.CustomerNumber);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 5 observations read from the data set WORK._SORTED.
NOTE: The data set WORK._NOTUNIQUE has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   PROC SQL NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   select count (*) into :l_anzahlObs from work._notUnique;
MPRINT(ASSERTPRIMARYKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data _apk._sorted;
MPRINT(ASSERTPRIMARYKEY):   set work._sorted (OBS=MAX);
MPRINT(ASSERTPRIMARYKEY):   run;
11                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
 
NOTE: There were 5 observations read from the data set WORK._SORTED.
NOTE: The data set _APK._SORTED has 5 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data _apk._notUnique;
MPRINT(ASSERTPRIMARYKEY):   set work._notUnique (OBS=MAX);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 0 observations read from the data set WORK._NOTUNIQUE.
NOTE: The data set _APK._NOTUNIQUE has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertPrimaryKey: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,3 ,"assertPrimaryKey" ,"Is the generated key unique? " ,"1 " ,"1 " ,0 ,"assertPrimaryKey: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.3 (assertPrimaryKey) =====================================
51
52         %assertTableExists (i_libref =work
53                            ,i_memname=Contracts
54                            ,i_desc   =Table was successfuly created?
55                            )
NOTE(SASUNIT): DATA work.Contracts exists.
MPRINT(ASSERTTABLEEXISTS):   data _null_ ;
MPRINT(ASSERTTABLEEXISTS):   length _crdate _modate $20;
MPRINT(ASSERTTABLEEXISTS):   dsid=open("work.Contracts") ;
MPRINT(ASSERTTABLEEXISTS):   _crdate = attrn(dsid,'CRDTE');
MPRINT(ASSERTTABLEEXISTS):   _modate = attrn(dsid,'MODTE');
MPRINT(ASSERTTABLEEXISTS):   dsid=close(dsid) ;
MPRINT(ASSERTTABLEEXISTS):   call symput('l_date',catt("#",_crdate,"#",_modate));
MPRINT(ASSERTTABLEEXISTS):   run ;
 
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      55:107   55:147
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
12                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
 
MPRINT(ASSERTTABLEEXISTS):  ;
NOTE(SASUNIT): assertTableExists: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,4 ,"assertTableExists" ,"Table was successfuly created? " ,"DATA:work.Contracts:0 " ,"1#      1711021161.747#      1711021161.747 " ,0 ,"assertTableExists: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
========================== Check        1.4 (assertTableExists) =====================================
56         %assertRecordCount (i_libref    =work
57                            ,i_memname   =Contracts
58                            ,i_recordsExp=8
59                            ,i_desc      =Does table contain all expected Rows?
60                            )
MPRINT(ASSERTRECORDCOUNT):   DATA _NULL_;
MPRINT(ASSERTRECORDCOUNT):   IF (INPUT(8, 32.) =.) then call symput('l_actual',"-3");
MPRINT(ASSERTRECORDCOUNT):   ELSE IF (8 < 0) then call symput('l_actual',"-4");
MPRINT(ASSERTRECORDCOUNT):  ;
MPRINT(ASSERTRECORDCOUNT):   RUN;
 
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      60:1
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   DATA _NULL_;
MPRINT(ASSERTRECORDCOUNT):   IF NOT("EQ" IN ("EQ", "NE", "GT", "LT", "GE", "LE", "=", "<", ">", ">=", "<=", "~=")) THEN call symput('l_actual',"-5");
MPRINT(ASSERTRECORDCOUNT):   RUN;
 
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   PROC SQL noprint;
MPRINT(ASSERTRECORDCOUNT):   select count(*) into :l_actual from work.Contracts where 1 ;
MPRINT(ASSERTRECORDCOUNT):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   *** update result in test database ***;
NOTE(SASUNIT): assertRecordCount: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
13                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,5 ,"assertRecordCount" ,"Does table contain all expected Rows? " ,"EQ 8 " ,"       8 " ,0 ,"assertRecordCount: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.5 (assertRecordCount) =====================================
61         %assertPrimaryKey (i_library  =work
62                           ,i_dataset  =Contracts
63                           ,i_variables=ContractNumber)
MPRINT(ASSERTPRIMARYKEY):   PROC CONTENTS data=work.Contracts out=work._Variables NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   RUN;
 
NOTE: The data set WORK._VARIABLES has 2 observations and 40 variables.
NOTE: PROZEDUR CONTENTS used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   QUIT;
MPRINT(ASSERTPRIMARYKEY):   PROC SQL NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   select count (*) into :l_anzahlObs from work._Variables where upcase(name) in ("CONTRACTNUMBER");
MPRINT(ASSERTPRIMARYKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(cas_id) INTO :l_casid_gti FROM target.cas WHERE cas_scnid = 002;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(tst_id) INTO :l_tstid_gti FROM target.tst WHERE tst_scnid = 002 AND tst_casid= 1;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):  ;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(_MKDIR):   options noxwait xsync xmin;
14                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_MKDIR):   options XWAIT XSYNC NOXMIN;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(ASSERTPRIMARYKEY):  ;
MPRINT(ASSERTPRIMARYKEY):   libname _apk "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/doc/sasunit/de/tst/_002_001_006_assertprimarykey";
NOTE: Libref _APK was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\_002_001_006_assertprimarykey
MPRINT(ASSERTPRIMARYKEY):   proc sort data=work.Contracts out=work._sorted;
MPRINT(ASSERTPRIMARYKEY):   by ContractNumber;
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK.CONTRACTS.
NOTE: The data set WORK._SORTED has 8 observations and 2 variables.
NOTE: PROZEDUR SORT used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data work._notUnique;
MPRINT(ASSERTPRIMARYKEY):   set work._sorted;
MPRINT(ASSERTPRIMARYKEY):   by ContractNumber;
MPRINT(ASSERTPRIMARYKEY):   if not (first.ContractNumber AND last.ContractNumber);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK._SORTED.
NOTE: The data set WORK._NOTUNIQUE has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   PROC SQL NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   select count (*) into :l_anzahlObs from work._notUnique;
MPRINT(ASSERTPRIMARYKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data _apk._sorted;
MPRINT(ASSERTPRIMARYKEY):   set work._sorted (OBS=MAX);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK._SORTED.
NOTE: The data set _APK._SORTED has 8 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data _apk._notUnique;
MPRINT(ASSERTPRIMARYKEY):   set work._notUnique (OBS=MAX);
MPRINT(ASSERTPRIMARYKEY):   run;
 
15                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
NOTE: There were 0 observations read from the data set WORK._NOTUNIQUE.
NOTE: The data set _APK._NOTUNIQUE has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertPrimaryKey: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,6 ,"assertPrimaryKey" ,"Check for primary key " ,"1 " ,"1 " ,0 ,"assertPrimaryKey: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
========================== Check        1.6 (assertPrimaryKey) =====================================
64
65         %assertRecordExists (i_dataset  =work.Contracts
NOTE: The macro ASSERTRECORDEXISTS completed compilation without errors.
      104 instructions 2684 bytes.
66                             ,i_whereExpr=%str(ContractType=1)
67                             ,i_desc     =Do we have at least one record per contract type 1?
68                             );
MPRINT(ASSERTRECORDEXISTS):   PROC SQL NOPRINT;
MPRINT(ASSERTRECORDEXISTS):   SELECT COUNT(*) FORMAT=best12. INTO :l_countMatches FROM work.Contracts(WHERE=(ContractType=1)) ;
MPRINT(ASSERTRECORDEXISTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertRecordExists: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,7 ,"assertRecordExists" ,"Do we have at least one record per contract type 1? " ,"> 0 " ,"2 " ,0 ,"assertRecordExists: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.7 (assertRecordExists) =====================================
MPRINT(ASSERTRECORDEXISTS):  ;
69         %assertRecordExists (i_dataset  =work.Contracts
70                             ,i_whereExpr=%str(ContractType=2)
71                             ,i_desc     =Do we have at least one record per contract type 2?
16                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
72                             );
MPRINT(ASSERTRECORDEXISTS):   PROC SQL NOPRINT;
MPRINT(ASSERTRECORDEXISTS):   SELECT COUNT(*) FORMAT=best12. INTO :l_countMatches FROM work.Contracts(WHERE=(ContractType=2)) ;
MPRINT(ASSERTRECORDEXISTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertRecordExists: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,8 ,"assertRecordExists" ,"Do we have at least one record per contract type 2? " ,"> 0 " ,"3 " ,0 ,"assertRecordExists: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
========================== Check        1.8 (assertRecordExists) =====================================
MPRINT(ASSERTRECORDEXISTS):  ;
73         %assertRecordExists (i_dataset  =work.Contracts
74                             ,i_whereExpr=%str(ContractType=3)
75                             ,i_desc     =Do we have at least one record per contract type 3?
76                             );
MPRINT(ASSERTRECORDEXISTS):   PROC SQL NOPRINT;
MPRINT(ASSERTRECORDEXISTS):   SELECT COUNT(*) FORMAT=best12. INTO :l_countMatches FROM work.Contracts(WHERE=(ContractType=3)) ;
MPRINT(ASSERTRECORDEXISTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertRecordExists: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,9 ,"assertRecordExists" ,"Do we have at least one record per contract type 3? " ,"> 0 " ,"3 " ,0 ,"assertRecordExists: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.9 (assertRecordExists) =====================================
MPRINT(ASSERTRECORDEXISTS):  ;
77
78         %assertTableExists (i_libref =work
79                            ,i_memname=CustomerContracts
17                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
80                            ,i_desc   =Table was successfuly created?
81                            )
NOTE(SASUNIT): DATA work.CustomerContracts exists.
MPRINT(ASSERTTABLEEXISTS):   data _null_ ;
MPRINT(ASSERTTABLEEXISTS):   length _crdate _modate $20;
MPRINT(ASSERTTABLEEXISTS):   dsid=open("work.CustomerContracts") ;
MPRINT(ASSERTTABLEEXISTS):   _crdate = attrn(dsid,'CRDTE');
MPRINT(ASSERTTABLEEXISTS):   _modate = attrn(dsid,'MODTE');
MPRINT(ASSERTTABLEEXISTS):   dsid=close(dsid) ;
MPRINT(ASSERTTABLEEXISTS):   call symput('l_date',catt("#",_crdate,"#",_modate));
MPRINT(ASSERTTABLEEXISTS):   run ;
 
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      81:107   81:147
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTTABLEEXISTS):  ;
NOTE(SASUNIT): assertTableExists: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,10 ,"assertTableExists" ,"Table was successfuly created? " ,"DATA:work.CustomerContracts:0 " ,"1#      1711021161.747#      1711021161.747 " ,0 ,"assertTableExists: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.10 (assertTableExists) =====================================
82         %assertRecordCount (i_libref    =work
83                            ,i_memname   =CustomerContracts
84                            ,i_recordsExp=8
85                            ,i_desc      =Does table contain all expected Rows?
86                            )
MPRINT(ASSERTRECORDCOUNT):   DATA _NULL_;
MPRINT(ASSERTRECORDCOUNT):   IF (INPUT(8, 32.) =.) then call symput('l_actual',"-3");
MPRINT(ASSERTRECORDCOUNT):   ELSE IF (8 < 0) then call symput('l_actual',"-4");
MPRINT(ASSERTRECORDCOUNT):  ;
MPRINT(ASSERTRECORDCOUNT):   RUN;
 
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      86:1
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   DATA _NULL_;
MPRINT(ASSERTRECORDCOUNT):   IF NOT("EQ" IN ("EQ", "NE", "GT", "LT", "GE", "LE", "=", "<", ">", ">=", "<=", "~=")) THEN call symput('l_actual',"-5");
18                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(ASSERTRECORDCOUNT):   RUN;
 
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   PROC SQL noprint;
MPRINT(ASSERTRECORDCOUNT):   select count(*) into :l_actual from work.CustomerContracts where 1 ;
MPRINT(ASSERTRECORDCOUNT):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   *** update result in test database ***;
NOTE(SASUNIT): assertRecordCount: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,11 ,"assertRecordCount" ,"Does table contain all expected Rows? " ,"EQ 8 " ,"       8 " ,0 ,"assertRecordCount: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.11 (assertRecordCount) =====================================
87         %assertPrimaryKey (i_library  =work
88                           ,i_dataset  =CustomerContracts
89                           ,i_variables=ContractNumber CustomerNumber)
MPRINT(ASSERTPRIMARYKEY):   PROC CONTENTS data=work.CustomerContracts out=work._Variables NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   RUN;
 
NOTE: The data set WORK._VARIABLES has 2 observations and 40 variables.
NOTE: PROZEDUR CONTENTS used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   QUIT;
MPRINT(ASSERTPRIMARYKEY):   PROC SQL NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   select count (*) into :l_anzahlObs from work._Variables where upcase(name) in ("CONTRACTNUMBER" "CUSTOMERNUMBER");
MPRINT(ASSERTPRIMARYKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(cas_id) INTO :l_casid_gti FROM target.cas WHERE cas_scnid = 002;
19                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(tst_id) INTO :l_tstid_gti FROM target.tst WHERE tst_scnid = 002 AND tst_casid= 1;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):  ;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(_MKDIR):   options noxwait xsync xmin;
MPRINT(_MKDIR):   options XWAIT XSYNC NOXMIN;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(ASSERTPRIMARYKEY):  ;
MPRINT(ASSERTPRIMARYKEY):   libname _apk "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/doc/sasunit/de/tst/_002_001_012_assertprimarykey";
NOTE: Libref _APK was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\_002_001_012_assertprimarykey
MPRINT(ASSERTPRIMARYKEY):   proc sort data=work.CustomerContracts out=work._sorted;
MPRINT(ASSERTPRIMARYKEY):   by ContractNumber CustomerNumber;
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK.CUSTOMERCONTRACTS.
NOTE: The data set WORK._SORTED has 8 observations and 2 variables.
NOTE: PROZEDUR SORT used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data work._notUnique;
MPRINT(ASSERTPRIMARYKEY):   set work._sorted;
MPRINT(ASSERTPRIMARYKEY):   by ContractNumber CustomerNumber;
MPRINT(ASSERTPRIMARYKEY):   if not (first.CustomerNumber AND last.CustomerNumber);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK._SORTED.
NOTE: The data set WORK._NOTUNIQUE has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   PROC SQL NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   select count (*) into :l_anzahlObs from work._notUnique;
MPRINT(ASSERTPRIMARYKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
20                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data _apk._sorted;
MPRINT(ASSERTPRIMARYKEY):   set work._sorted (OBS=MAX);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK._SORTED.
NOTE: The data set _APK._SORTED has 8 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data _apk._notUnique;
MPRINT(ASSERTPRIMARYKEY):   set work._notUnique (OBS=MAX);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 0 observations read from the data set WORK._NOTUNIQUE.
NOTE: The data set _APK._NOTUNIQUE has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
NOTE(SASUNIT): assertPrimaryKey: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,12 ,"assertPrimaryKey" ,"Check for primary key " ,"1 " ,"1 " ,0 ,"assertPrimaryKey: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.12 (assertPrimaryKey) =====================================
90
91         %assertForeignKey (i_mstrLib  =work
NOTE: The macro ASSERTFOREIGNKEY completed compilation without errors.
      655 instructions 17856 bytes.
92                           ,i_mstMem   =CustomerContracts
93                           ,i_mstKey   =ContractNumber
94                           ,i_lookupLib=work
95                           ,i_lookupMem=Contracts
96                           ,i_lookupKey=ContractNumber
97                           ,i_desc     =Check ContractNumber
98                           );
MPRINT(ASSERTFOREIGNKEY):   data mstrCopy;
MPRINT(ASSERTFOREIGNKEY):   set work.CustomerContracts;
MPRINT(ASSERTFOREIGNKEY):   run;
 
21                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
NOTE: There were 8 observations read from the data set WORK.CUSTOMERCONTRACTS.
NOTE: The data set WORK.MSTRCOPY has 8 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   PROC SQL;
MPRINT(ASSERTFOREIGNKEY):   create table master_missing as select * from mstrCopy where ContractNumber = .;
NOTE: Table WORK.MASTER_MISSING created, with 0 rows and 2 columns.
 
MPRINT(ASSERTFOREIGNKEY):   ;
MPRINT(ASSERTFOREIGNKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   PROC SQL noprint;
MPRINT(ASSERTFOREIGNKEY):   create table distKeysLookUp as SELECT distinct ContractNumber FROM work.Contracts ;
NOTE: Table WORK.DISTKEYSLOOKUP created, with 8 rows and 1 columns.
 
MPRINT(ASSERTFOREIGNKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   PROC SQL noprint;
MPRINT(ASSERTFOREIGNKEY):   SELECT count(*) into :l_cnt1 FROM work.Contracts ;
MPRINT(ASSERTFOREIGNKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   PROC SQL noprint;
MPRINT(ASSERTFOREIGNKEY):   SELECT count(*) into: l_cnt2 FROM work.distKeysLookUp ;
MPRINT(ASSERTFOREIGNKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   proc sort data = mstrCopy out = mstrSorted;
MPRINT(ASSERTFOREIGNKEY):   by ContractNumber;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK.MSTRCOPY.
NOTE: The data set WORK.MSTRSORTED has 8 observations and 2 variables.
NOTE: PROZEDUR SORT used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
22                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
 
MPRINT(ASSERTFOREIGNKEY):   data keyNotFndMstr keyNotFndLookUp;
MPRINT(ASSERTFOREIGNKEY):   merge mstrSorted(in=fndMstr) distKeysLookUp(in=fndLookUp rename=(ContractNumber=ContractNumber));
MPRINT(ASSERTFOREIGNKEY):   by ContractNumber;
MPRINT(ASSERTFOREIGNKEY):   if fndLookUp AND not fndMstr then output keyNotFndMstr;
MPRINT(ASSERTFOREIGNKEY):   If not fndLookUp AND fndMstr then output keyNotFndLookUp;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK.MSTRSORTED.
NOTE: There were 8 observations read from the data set WORK.DISTKEYSLOOKUP.
NOTE: The data set WORK.KEYNOTFNDMSTR has 0 observations and 2 variables.
NOTE: The data set WORK.KEYNOTFNDLOOKUP has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(cas_id) INTO :l_casid_gti FROM target.cas WHERE cas_scnid = 002;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(tst_id) INTO :l_tstid_gti FROM target.tst WHERE tst_scnid = 002 AND tst_casid= 1;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):  ;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(_MKDIR):   options noxwait xsync xmin;
MPRINT(_MKDIR):   options XWAIT XSYNC NOXMIN;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(ASSERTFOREIGNKEY):  ;
MPRINT(ASSERTFOREIGNKEY):   libname tar_afk "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/doc/sasunit/de/tst/_002_001_013_assertforeignkey";
NOTE: Libref TAR_AFK was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\_002_001_013_assertforeignkey
MPRINT(ASSERTFOREIGNKEY):   data keyNotFndLookUp;
MPRINT(ASSERTFOREIGNKEY):   set keyNotFndLookUp(OBS=MAX);
MPRINT(ASSERTFOREIGNKEY):   keep ContractNumber;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 0 observations read from the data set WORK.KEYNOTFNDLOOKUP.
NOTE: The data set WORK.KEYNOTFNDLOOKUP has 0 observations and 1 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
23                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   proc copy in = work out = tar_afk;
MPRINT(ASSERTFOREIGNKEY):   select keyNotFndLookUp;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: Copying WORK.KEYNOTFNDLOOKUP to TAR_AFK.KEYNOTFNDLOOKUP (memtype=DATA).
NOTE: There were 0 observations read from the data set WORK.KEYNOTFNDLOOKUP.
NOTE: The data set TAR_AFK.KEYNOTFNDLOOKUP has 0 observations and 1 variables.
NOTE: PROZEDUR COPY used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   data keyNotFndMstr;
MPRINT(ASSERTFOREIGNKEY):   set keyNotFndMstr(OBS=MAX);
MPRINT(ASSERTFOREIGNKEY):   keep ContractNumber;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 0 observations read from the data set WORK.KEYNOTFNDMSTR.
NOTE: The data set WORK.KEYNOTFNDMSTR has 0 observations and 1 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   proc copy in = work out = tar_afk;
MPRINT(ASSERTFOREIGNKEY):   select keyNotFndMstr;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: Copying WORK.KEYNOTFNDMSTR to TAR_AFK.KEYNOTFNDMSTR (memtype=DATA).
NOTE: There were 0 observations read from the data set WORK.KEYNOTFNDMSTR.
NOTE: The data set TAR_AFK.KEYNOTFNDMSTR has 0 observations and 1 variables.
NOTE: PROZEDUR COPY used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertForeignKey: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,13 ,"assertForeignKey" ,"Check ContractNumber " ,"TRUE " ,"0 " ,0 ,"assertForeignKey: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.13 (assertForeignKey) =====================================
99
24                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
100        %assertForeignKey (i_mstrLib  =work
101                          ,i_mstMem   =CustomerContracts
102                          ,i_mstKey   =CustomerNumber
103                          ,i_lookupLib=work
104                          ,i_lookupMem=Customer
105                          ,i_lookupKey=CustomerNumber
106                          ,i_desc     =Check CustomerNumber
107                          );
MPRINT(ASSERTFOREIGNKEY):   data mstrCopy;
MPRINT(ASSERTFOREIGNKEY):   set work.CustomerContracts;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK.CUSTOMERCONTRACTS.
NOTE: The data set WORK.MSTRCOPY has 8 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   PROC SQL;
MPRINT(ASSERTFOREIGNKEY):   create table master_missing as select * from mstrCopy where CustomerNumber = .;
NOTE: Table WORK.MASTER_MISSING created, with 0 rows and 2 columns.
 
MPRINT(ASSERTFOREIGNKEY):   ;
MPRINT(ASSERTFOREIGNKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   PROC SQL noprint;
MPRINT(ASSERTFOREIGNKEY):   create table distKeysLookUp as SELECT distinct CustomerNumber FROM work.Customer ;
NOTE: Table WORK.DISTKEYSLOOKUP created, with 5 rows and 1 columns.
 
MPRINT(ASSERTFOREIGNKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   PROC SQL noprint;
MPRINT(ASSERTFOREIGNKEY):   SELECT count(*) into :l_cnt1 FROM work.Customer ;
MPRINT(ASSERTFOREIGNKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   PROC SQL noprint;
MPRINT(ASSERTFOREIGNKEY):   SELECT count(*) into: l_cnt2 FROM work.distKeysLookUp ;
MPRINT(ASSERTFOREIGNKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
25                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
 
 
MPRINT(ASSERTFOREIGNKEY):   proc sort data = mstrCopy out = mstrSorted;
MPRINT(ASSERTFOREIGNKEY):   by CustomerNumber;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK.MSTRCOPY.
NOTE: The data set WORK.MSTRSORTED has 8 observations and 2 variables.
NOTE: PROZEDUR SORT used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   data keyNotFndMstr keyNotFndLookUp;
MPRINT(ASSERTFOREIGNKEY):   merge mstrSorted(in=fndMstr) distKeysLookUp(in=fndLookUp rename=(CustomerNumber=CustomerNumber));
MPRINT(ASSERTFOREIGNKEY):   by CustomerNumber;
MPRINT(ASSERTFOREIGNKEY):   if fndLookUp AND not fndMstr then output keyNotFndMstr;
MPRINT(ASSERTFOREIGNKEY):   If not fndLookUp AND fndMstr then output keyNotFndLookUp;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK.MSTRSORTED.
NOTE: There were 5 observations read from the data set WORK.DISTKEYSLOOKUP.
NOTE: The data set WORK.KEYNOTFNDMSTR has 0 observations and 2 variables.
NOTE: The data set WORK.KEYNOTFNDLOOKUP has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(cas_id) INTO :l_casid_gti FROM target.cas WHERE cas_scnid = 002;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(tst_id) INTO :l_tstid_gti FROM target.tst WHERE tst_scnid = 002 AND tst_casid= 1;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):  ;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(_MKDIR):   options noxwait xsync xmin;
MPRINT(_MKDIR):   options XWAIT XSYNC NOXMIN;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(ASSERTFOREIGNKEY):  ;
MPRINT(ASSERTFOREIGNKEY):   libname tar_afk "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/doc/sasunit/de/tst/_002_001_014_assertforeignkey";
26                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
NOTE: Libref TAR_AFK was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\_002_001_014_assertforeignkey
MPRINT(ASSERTFOREIGNKEY):   data keyNotFndLookUp;
MPRINT(ASSERTFOREIGNKEY):   set keyNotFndLookUp(OBS=MAX);
MPRINT(ASSERTFOREIGNKEY):   keep CustomerNumber;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 0 observations read from the data set WORK.KEYNOTFNDLOOKUP.
NOTE: The data set WORK.KEYNOTFNDLOOKUP has 0 observations and 1 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   proc copy in = work out = tar_afk;
MPRINT(ASSERTFOREIGNKEY):   select keyNotFndLookUp;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: Copying WORK.KEYNOTFNDLOOKUP to TAR_AFK.KEYNOTFNDLOOKUP (memtype=DATA).
NOTE: There were 0 observations read from the data set WORK.KEYNOTFNDLOOKUP.
NOTE: The data set TAR_AFK.KEYNOTFNDLOOKUP has 0 observations and 1 variables.
NOTE: PROZEDUR COPY used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   data keyNotFndMstr;
MPRINT(ASSERTFOREIGNKEY):   set keyNotFndMstr(OBS=MAX);
MPRINT(ASSERTFOREIGNKEY):   keep CustomerNumber;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: There were 0 observations read from the data set WORK.KEYNOTFNDMSTR.
NOTE: The data set WORK.KEYNOTFNDMSTR has 0 observations and 1 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTFOREIGNKEY):   proc copy in = work out = tar_afk;
MPRINT(ASSERTFOREIGNKEY):   select keyNotFndMstr;
MPRINT(ASSERTFOREIGNKEY):   run;
 
NOTE: Copying WORK.KEYNOTFNDMSTR to TAR_AFK.KEYNOTFNDMSTR (memtype=DATA).
NOTE: There were 0 observations read from the data set WORK.KEYNOTFNDMSTR.
NOTE: The data set TAR_AFK.KEYNOTFNDMSTR has 0 observations and 1 variables.
NOTE: PROZEDUR COPY used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertForeignKey: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
27                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,14 ,"assertForeignKey" ,"Check CustomerNumber " ,"TRUE " ,"0 " ,0 ,"assertForeignKey: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.14 (assertForeignKey) =====================================
108
109        %assertLog (i_errors=0, i_warnings=0)
NOTE: The macro ASSERTLOG completed compilation without errors.
      71 instructions 2420 bytes.
MPRINT(ASSERTLOG):   PROC SQL NOPRINT;
MPRINT(ASSERTLOG):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid = 002;
MPRINT(ASSERTLOG):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE: The macro _CHECKLOG completed compilation without errors.
      32 instructions 1844 bytes.
MPRINT(_CHECKLOG):   DATA _null_;
MPRINT(_CHECKLOG):   INFILE "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log/002_001.log" TRUNCOVER end=eof;
MPRINT(_CHECKLOG):   INPUT logline $char255.;
MPRINT(_CHECKLOG):   ATTRIB _errorPatternId LENGTH = 8 _ignoreErrPatternId LENGTH = 8 _warningPatternId LENGTH = 8 _errcount LENGTH = 8 _warncount LENGTH = 8 ;
MPRINT(_CHECKLOG):   RETAIN _errorPatternId 0 _ignoreErrPatternId 0 _warningPatternId 0 _errcount 0 _warncount 0 ;
MPRINT(_CHECKLOG):   IF _n_=1 THEN DO;
MPRINT(_CHECKLOG):   _errorPatternId = prxparse("/^ERROR[: ]/");
MPRINT(_CHECKLOG):   _warningPatternId = prxparse("/^WARNING[: ]/");
MPRINT(_CHECKLOG):   _ignoreErrPatternId = prxparse("/^ERROR: Errors printed on page/");
MPRINT(_CHECKLOG):   END;
MPRINT(_CHECKLOG):   IF prxmatch (_errorPatternId, logline) AND (NOT prxmatch (_ignoreErrPatternId, logline)) THEN DO;
MPRINT(_CHECKLOG):   _errcount = _errcount+1;
MPRINT(_CHECKLOG):   END;
MPRINT(_CHECKLOG):   ELSE IF prxmatch (_warningPatternId, logline) THEN DO;
MPRINT(_CHECKLOG):   _warncount = _warncount+1;
MPRINT(_CHECKLOG):   END;
MPRINT(_CHECKLOG):   IF eof THEN DO;
MPRINT(_CHECKLOG):   CALL symputx ("l_error_count" , put(_errcount,8.));
MPRINT(_CHECKLOG):   CALL symputx ("l_warning_count", put(_warncount,8.));
MPRINT(_CHECKLOG):   END;
MPRINT(_CHECKLOG):   RUN;
 
NOTE: The infile "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log/002_001.log" is:
      Dateiname=c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\log\002_001.log,
      RECFM=V,LRECL=256,Dateigröße (Byte)=2517,
      Zuletzt geändert=21. März 2014 11.39 Uhr,
      Erstellungsuhrzeit=21. März 2014 11.39 Uhr
 
NOTE: 61 records were read from the infile "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log/002_001.log".
28                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
      The minimum record length was 0.
      The maximum record length was 256.
      One or more lines were truncated.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertLog: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 1 ,15 ,"assertLog" ,"Scan log for errors " ,"0#0 " ,"0#0 " ,0 ,"assertLog: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        1.15 (assertLog) =====================================
110        %endTestCase()
NOTE: The macro ENDTESTCASE completed compilation without errors.
      71 instructions 2048 bytes.
MPRINT(ENDTESTCASE):   PROC SQL NOPRINT;
MPRINT(ENDTESTCASE):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(ENDTESTCASE):   SELECT count(*) INTO :l_assertLog FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 1 AND tst_type='assertLog';
MPRINT(ENDTESTCASE):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCASE):   PROC SQL NOPRINT;
MPRINT(ENDTESTCASE):   SELECT max (tst_res) INTO :l_result FROM target.tst WHERE tst_scnid=002 AND tst_casid=1;
MPRINT(ENDTESTCASE):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCASE):   PROC SQL NOPRINT;
MPRINT(ENDTESTCASE):   UPDATE target.cas SET cas_res = 0 WHERE cas_scnid = 002 AND cas_id = 1;
NOTE: 1 row was updated in TARGET.CAS.
 
MPRINT(ENDTESTCASE):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
111
112        /*-- Creation of combined table --------------------------------------------*/
29                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
113        %initTestcase(i_object=combineddataset.sas, i_desc=Creating combined dataset)
MPRINT(INITTESTCASE):   PROC SQL NOPRINT;
MPRINT(INITTESTCASE):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid = 002;
MPRINT(INITTESTCASE):   INSERT INTO target.cas VALUES ( 002 ,2 ,2 ,"combineddataset.sas" ,"Creating combined dataset" ,
MPRINT(INITTESTCASE):  "" ,1711021162.226 ,. ,. );
NOTE: 1 row was inserted into TARGET.CAS.
 
MPRINT(INITTESTCASE):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== test case 2 ======================================================
MPRINT(INITTESTCASE):   PROC PRINTTO NEW LOG="c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log/002_002.log" PRINT="c:\.jenkins\jobs\SASUnit Build Release
ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst/002_002.lst" ;
MPRINT(INITTESTCASE):   RUN;
 
NOTE: PROZEDUR PRINTTO used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCALL):   PROC SQL NOPRINT;
MPRINT(ENDTESTCALL):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCALL):   PROC SQL NOPRINT;
30                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(ENDTESTCALL):   UPDATE target.cas SET cas_end = 1711021162.257 WHERE cas_scnid = 002 AND cas_id = 2;
NOTE: 1 row was updated in TARGET.CAS.
 
MPRINT(ENDTESTCALL):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCALL):   PROC SQL NOPRINT;
MPRINT(ENDTESTCALL):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(ENDTESTCALL):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ENDTESTCALL):   DATA _null_;
MPRINT(ENDTESTCALL):   INFILE "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst/002_002.lst";
MPRINT(ENDTESTCALL):   INPUT;
MPRINT(ENDTESTCALL):   CALL symput ('l_filled','1');
MPRINT(ENDTESTCALL):   STOP;
MPRINT(ENDTESTCALL):   RUN;
 
NOTE: The infile "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst/002_002.lst" is:
      Dateiname=c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\002_002.lst,
      RECFM=V,LRECL=256,Dateigröße (Byte)=0,
      Zuletzt geändert=21. März 2014 11.39 Uhr,
      Erstellungsuhrzeit=21. März 2014 11.39 Uhr
 
NOTE: 0 records were read from the infile "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/tst/002_002.lst".
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCALL):   ODS _ALL_ CLOSE;
116
117        %assertTableExists (i_libref =work
118                           ,i_memname=CombinedDataset
119                           ,i_desc   =Table was successfuly created?
120                           )
NOTE(SASUNIT): DATA work.CombinedDataset exists.
MPRINT(ASSERTTABLEEXISTS):   data _null_ ;
MPRINT(ASSERTTABLEEXISTS):   length _crdate _modate $20;
MPRINT(ASSERTTABLEEXISTS):   dsid=open("work.CombinedDataset") ;
MPRINT(ASSERTTABLEEXISTS):   _crdate = attrn(dsid,'CRDTE');
MPRINT(ASSERTTABLEEXISTS):   _modate = attrn(dsid,'MODTE');
MPRINT(ASSERTTABLEEXISTS):   dsid=close(dsid) ;
MPRINT(ASSERTTABLEEXISTS):   call symput('l_date',catt("#",_crdate,"#",_modate));
MPRINT(ASSERTTABLEEXISTS):   run ;
 
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      120:107   120:147
31                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTTABLEEXISTS):  ;
NOTE(SASUNIT): assertTableExists: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 2 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 2 ,1 ,"assertTableExists" ,"Table was successfuly created? " ,"DATA:work.CombinedDataset:0 " ,"1#      1711021162.242#      1711021162.242 " ,0 ,"assertTableExists: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        2.1 (assertTableExists) =====================================
121        %assertRecordCount (i_libref    =work
122                           ,i_memname   =CombinedDataset
123                           ,i_recordsExp=8
124                           ,i_desc      =Does table contain all expected Rows?
125                           )
MPRINT(ASSERTRECORDCOUNT):   DATA _NULL_;
MPRINT(ASSERTRECORDCOUNT):   IF (INPUT(8, 32.) =.) then call symput('l_actual',"-3");
MPRINT(ASSERTRECORDCOUNT):   ELSE IF (8 < 0) then call symput('l_actual',"-4");
MPRINT(ASSERTRECORDCOUNT):  ;
MPRINT(ASSERTRECORDCOUNT):   RUN;
 
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      125:1
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   DATA _NULL_;
MPRINT(ASSERTRECORDCOUNT):   IF NOT("EQ" IN ("EQ", "NE", "GT", "LT", "GE", "LE", "=", "<", ">", ">=", "<=", "~=")) THEN call symput('l_actual',"-5");
MPRINT(ASSERTRECORDCOUNT):   RUN;
 
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTRECORDCOUNT):   PROC SQL noprint;
MPRINT(ASSERTRECORDCOUNT):   select count(*) into :l_actual from work.CombinedDataset where 1 ;
MPRINT(ASSERTRECORDCOUNT):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
32                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
 
MPRINT(ASSERTRECORDCOUNT):   *** update result in test database ***;
NOTE(SASUNIT): assertRecordCount: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 2 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 2 ,2 ,"assertRecordCount" ,"Does table contain all expected Rows? " ,"EQ 8 " ,"       8 " ,0 ,"assertRecordCount: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        2.2 (assertRecordCount) =====================================
126        %assertPrimaryKey (i_library  =work
127                          ,i_dataset  =CombinedDataset
128                          ,i_variables=ContractNumber CustomerNumber)
MPRINT(ASSERTPRIMARYKEY):   PROC CONTENTS data=work.CombinedDataset out=work._Variables NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   RUN;
 
NOTE: The data set WORK._VARIABLES has 4 observations and 40 variables.
NOTE: PROZEDUR CONTENTS used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   QUIT;
MPRINT(ASSERTPRIMARYKEY):   PROC SQL NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   select count (*) into :l_anzahlObs from work._Variables where upcase(name) in ("CONTRACTNUMBER" "CUSTOMERNUMBER");
MPRINT(ASSERTPRIMARYKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(cas_id) INTO :l_casid_gti FROM target.cas WHERE cas_scnid = 002;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(tst_id) INTO :l_tstid_gti FROM target.tst WHERE tst_scnid = 002 AND tst_casid= 2;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
33                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
 
MPRINT(ASSERTPRIMARYKEY):  ;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(_MKDIR):   options noxwait xsync xmin;
MPRINT(_MKDIR):   options XWAIT XSYNC NOXMIN;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(ASSERTPRIMARYKEY):  ;
MPRINT(ASSERTPRIMARYKEY):   libname _apk "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/doc/sasunit/de/tst/_002_002_003_assertprimarykey";
NOTE: Libref _APK was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\_002_002_003_assertprimarykey
MPRINT(ASSERTPRIMARYKEY):   proc sort data=work.CombinedDataset out=work._sorted;
MPRINT(ASSERTPRIMARYKEY):   by ContractNumber CustomerNumber;
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK.COMBINEDDATASET.
NOTE: The data set WORK._SORTED has 8 observations and 4 variables.
NOTE: PROZEDUR SORT used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data work._notUnique;
MPRINT(ASSERTPRIMARYKEY):   set work._sorted;
MPRINT(ASSERTPRIMARYKEY):   by ContractNumber CustomerNumber;
MPRINT(ASSERTPRIMARYKEY):   if not (first.CustomerNumber AND last.CustomerNumber);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK._SORTED.
NOTE: The data set WORK._NOTUNIQUE has 0 observations and 4 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   PROC SQL NOPRINT;
MPRINT(ASSERTPRIMARYKEY):   select count (*) into :l_anzahlObs from work._notUnique;
MPRINT(ASSERTPRIMARYKEY):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTPRIMARYKEY):   data _apk._sorted;
MPRINT(ASSERTPRIMARYKEY):   set work._sorted (OBS=MAX);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 8 observations read from the data set WORK._SORTED.
NOTE: The data set _APK._SORTED has 8 observations and 4 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
34                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(ASSERTPRIMARYKEY):   data _apk._notUnique;
MPRINT(ASSERTPRIMARYKEY):   set work._notUnique (OBS=MAX);
MPRINT(ASSERTPRIMARYKEY):   run;
 
NOTE: There were 0 observations read from the data set WORK._NOTUNIQUE.
NOTE: The data set _APK._NOTUNIQUE has 0 observations and 4 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertPrimaryKey: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 2 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 2 ,3 ,"assertPrimaryKey" ,"Check for primary key " ,"1 " ,"1 " ,0 ,"assertPrimaryKey: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        2.3 (assertPrimaryKey) =====================================
129
130        %assertRowExpression(i_libref  =work
NOTE: The macro ASSERTROWEXPRESSION completed compilation without errors.
      201 instructions 5760 bytes.
131                            ,i_memname =CustomerContracts
132                            ,i_where   =%str(not missing %(ContractNumber%))
133                            ,i_desc    =There should be no customers without contracts
134                            );
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(cas_id) INTO :l_casid_gti FROM target.cas WHERE cas_scnid = 002;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(tst_id) INTO :l_tstid_gti FROM target.tst WHERE tst_scnid = 002 AND tst_casid= 2;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTROWEXPRESSION):  ;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(_MKDIR):   options noxwait xsync xmin;
35                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_MKDIR):   options XWAIT XSYNC NOXMIN;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(ASSERTROWEXPRESSION):  ;
MPRINT(ASSERTROWEXPRESSION):   libname _areLib "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/doc/sasunit/de/tst/_002_002_004_assertrowexpression";
NOTE: Libref _ARELIB was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\_002_002_004_assertrowexpression
MPRINT(ASSERTROWEXPRESSION):   PROC SQL NOPRINT;
MPRINT(ASSERTROWEXPRESSION):   select count (*) into :l_actual from work.CustomerContracts where not missing (ContractNumber);
MPRINT(ASSERTROWEXPRESSION):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTROWEXPRESSION):   options obs=MAX;
MPRINT(ASSERTROWEXPRESSION):   data _areLib.ViolatingObservations;
MPRINT(ASSERTROWEXPRESSION):   set work.CustomerContracts (where=(not (not missing (ContractNumber))));
MPRINT(ASSERTROWEXPRESSION):   run;
 
NOTE: There were 0 observations read from the data set WORK.CUSTOMERCONTRACTS.
      WHERE not (not MISSING(ContractNumber));
NOTE: The data set _ARELIB.VIOLATINGOBSERVATIONS has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTROWEXPRESSION):   options obs=MAX;
MPRINT(ASSERTROWEXPRESSION):   libname _areLib clear;
NOTE: Libref _ARELIB has been deassigned.
MPRINT(ASSERTROWEXPRESSION):   *** update result in test database ***;
NOTE(SASUNIT): assertRowExpression: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 2 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 2 ,4 ,"assertRowExpression" ,"There should be no customers without contracts " ,"8 " ,"8 " ,0 ,"assertRowExpression: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
========================== Check        2.4 (assertRowExpression) =====================================
135
136        %assertRowExpression(i_libref  =work
137                            ,i_memname =CustomerContracts
138                            ,i_where   =%str(not missing %(CustomerNumber%))
139                            ,i_desc    =There should be no contracts without customer
140                            );
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
36                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_GETSCENARIOTESTID):   SELECT max(cas_id) INTO :l_casid_gti FROM target.cas WHERE cas_scnid = 002;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_GETSCENARIOTESTID):   PROC SQL NOPRINT;
MPRINT(_GETSCENARIOTESTID):   *** determine number of the current test case ****;
MPRINT(_GETSCENARIOTESTID):   SELECT max(tst_id) INTO :l_tstid_gti FROM target.tst WHERE tst_scnid = 002 AND tst_casid= 2;
MPRINT(_GETSCENARIOTESTID):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTROWEXPRESSION):  ;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(_MKDIR):   options noxwait xsync xmin;
MPRINT(_MKDIR):   options XWAIT XSYNC NOXMIN;
MPRINT(_CREATETESTSUBFOLDER):  ;
MPRINT(ASSERTROWEXPRESSION):  ;
MPRINT(ASSERTROWEXPRESSION):   libname _areLib "c:/.jenkins/jobs/SASUnit Build Release ZIP-File/workspace/v1.3/example/doc/sasunit/de/tst/_002_002_005_assertrowexpression";
NOTE: Libref _ARELIB was successfully assigned as follows:
      Engine:        V9
      Physical Name: c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\tst\_002_002_005_assertrowexpression
MPRINT(ASSERTROWEXPRESSION):   PROC SQL NOPRINT;
MPRINT(ASSERTROWEXPRESSION):   select count (*) into :l_actual from work.CustomerContracts where not missing (CustomerNumber);
MPRINT(ASSERTROWEXPRESSION):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ASSERTROWEXPRESSION):   options obs=MAX;
MPRINT(ASSERTROWEXPRESSION):   data _areLib.ViolatingObservations;
MPRINT(ASSERTROWEXPRESSION):   set work.CustomerContracts (where=(not (not missing (CustomerNumber))));
MPRINT(ASSERTROWEXPRESSION):   run;
 
NOTE: There were 0 observations read from the data set WORK.CUSTOMERCONTRACTS.
      WHERE not (not MISSING(CustomerNumber));
NOTE: The data set _ARELIB.VIOLATINGOBSERVATIONS has 0 observations and 2 variables.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
 
 
MPRINT(ASSERTROWEXPRESSION):   options obs=MAX;
MPRINT(ASSERTROWEXPRESSION):   libname _areLib clear;
NOTE: Libref _ARELIB has been deassigned.
MPRINT(ASSERTROWEXPRESSION):   *** update result in test database ***;
NOTE(SASUNIT): assertRowExpression: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
37                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 2 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 2 ,5 ,"assertRowExpression" ,"There should be no contracts without customer " ,"8 " ,"8 " ,0 ,"assertRowExpression: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        2.5 (assertRowExpression) =====================================
141
142        %assertLog (i_errors=0, i_warnings=0)
MPRINT(ASSERTLOG):   PROC SQL NOPRINT;
MPRINT(ASSERTLOG):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid = 002;
MPRINT(ASSERTLOG):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(_CHECKLOG):   DATA _null_;
MPRINT(_CHECKLOG):   INFILE "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log/002_002.log" TRUNCOVER end=eof;
MPRINT(_CHECKLOG):   INPUT logline $char255.;
MPRINT(_CHECKLOG):   ATTRIB _errorPatternId LENGTH = 8 _ignoreErrPatternId LENGTH = 8 _warningPatternId LENGTH = 8 _errcount LENGTH = 8 _warncount LENGTH = 8 ;
MPRINT(_CHECKLOG):   RETAIN _errorPatternId 0 _ignoreErrPatternId 0 _warningPatternId 0 _errcount 0 _warncount 0 ;
MPRINT(_CHECKLOG):   IF _n_=1 THEN DO;
MPRINT(_CHECKLOG):   _errorPatternId = prxparse("/^ERROR[: ]/");
MPRINT(_CHECKLOG):   _warningPatternId = prxparse("/^WARNING[: ]/");
MPRINT(_CHECKLOG):   _ignoreErrPatternId = prxparse("/^ERROR: Errors printed on page/");
MPRINT(_CHECKLOG):   END;
MPRINT(_CHECKLOG):   IF prxmatch (_errorPatternId, logline) AND (NOT prxmatch (_ignoreErrPatternId, logline)) THEN DO;
MPRINT(_CHECKLOG):   _errcount = _errcount+1;
MPRINT(_CHECKLOG):   END;
MPRINT(_CHECKLOG):   ELSE IF prxmatch (_warningPatternId, logline) THEN DO;
MPRINT(_CHECKLOG):   _warncount = _warncount+1;
MPRINT(_CHECKLOG):   END;
MPRINT(_CHECKLOG):   IF eof THEN DO;
MPRINT(_CHECKLOG):   CALL symputx ("l_error_count" , put(_errcount,8.));
MPRINT(_CHECKLOG):   CALL symputx ("l_warning_count", put(_warncount,8.));
MPRINT(_CHECKLOG):   END;
MPRINT(_CHECKLOG):   RUN;
 
NOTE: The infile "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log/002_002.log" is:
      Dateiname=c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de\log\002_002.log,
      RECFM=V,LRECL=256,Dateigröße (Byte)=1221,
      Zuletzt geändert=21. März 2014 11.39 Uhr,
      Erstellungsuhrzeit=21. März 2014 11.39 Uhr
 
NOTE: 23 records were read from the infile "c:\.jenkins\jobs\SASUnit Build Release ZIP-File\workspace\v1.3\example\doc\sasunit\de/log/002_002.log".
      The minimum record length was 0.
      The maximum record length was 247.
NOTE: DATA-Anweisung used (Total process time):
      real time           0.00 seconds
38                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20
 
      cpu time            0.00 seconds
 
 
NOTE(SASUNIT): assertLog: assert passed.
MPRINT(_ASSERTS):   PROC SQL NOPRINT;
MPRINT(_ASSERTS):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(_ASSERTS):   SELECT max(tst_id) INTO :l_tstid FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 2 ;
MPRINT(_ASSERTS):   INSERT INTO target.tst VALUES ( 002 , 2 ,6 ,"assertLog" ,"Scan log for errors " ,"0#0 " ,"0#0 " ,0 ,"assertLog: assert passed." );
NOTE: 1 row was inserted into TARGET.TST.
 
MPRINT(_ASSERTS):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
========================== Check        2.6 (assertLog) =====================================
143        %endTestCase()
MPRINT(ENDTESTCASE):   PROC SQL NOPRINT;
MPRINT(ENDTESTCASE):   SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=002;
MPRINT(ENDTESTCASE):   SELECT count(*) INTO :l_assertLog FROM target.tst WHERE tst_scnid = 002 AND tst_casid = 2 AND tst_type='assertLog';
MPRINT(ENDTESTCASE):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCASE):   PROC SQL NOPRINT;
MPRINT(ENDTESTCASE):   SELECT max (tst_res) INTO :l_result FROM target.tst WHERE tst_scnid=002 AND tst_casid=2;
MPRINT(ENDTESTCASE):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
MPRINT(ENDTESTCASE):   PROC SQL NOPRINT;
MPRINT(ENDTESTCASE):   UPDATE target.cas SET cas_res = 0 WHERE cas_scnid = 002 AND cas_id = 2;
NOTE: 1 row was updated in TARGET.CAS.
 
MPRINT(ENDTESTCASE):   QUIT;
NOTE: PROZEDUR SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
 
 
144        /** \endcond */
 
NOTE: The macro _TERMSCENARIO completed compilation without errors.
      26 instructions 520 bytes.
 
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: Das SAS System used:
      real time           0.91 seconds
      cpu time            0.73 seconds
39                                                                                                                       Das SAS System                                                                                             11:39 Friday, March 21, 20