Changeset 124


Ignore:
Timestamp:
Aug 31, 2008, 8:57:18 AM (16 years ago)
Author:
George Lilly
Message:

broke GPLXPATH into two files to be under 20K per SAC .. put test cases in GPLXPAT0.m

Location:
ccr/trunk/p
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • ccr/trunk/p/GPLXPATH.m

    r98 r124  
    347347         Q
    348348         ;
    349 MAPOLD(IXML,INARY,OXML)    ; SUBSTITUTE @@X@@ VARS IN IXML WITH VALUES IN INARY
    350      ; AND PUT THE RESULTS IN OXML
    351          I '$D(@IXML@(0)) W "MALFORMED XML PASSED TO MAP",! Q
    352          I $O(@INARY@(""))="" W "EMPTY ARRAY PASSED TO MAP",! Q
    353          N I,TNAM,TVAL
    354          S @OXML@(0)=@IXML@(0) ; TOTAL LINES IN OUTPUT
    355          F I=1:1:@OXML@(0)  D   ; LOOP THROUGH WHOLE ARRAY
    356          . S @OXML@(I)=@IXML@(I) ; COPY THE LINE TO OUTPUT
    357          . I @OXML@(I)?.E1"@@".E D  ; IS THERE A VARIABLE HERE?
    358          . . S TNAM=$P(@OXML@(I),"@@",2) ; EXTRACT THE VARIABLE NAME
    359          . . I $D(@INARY@(TNAM))  D  ; IS THE VARIABLE IN THE MAP?
    360          . . . S TVAL=@INARY@(TNAM) ; PULL OUT MAPPED VALUE
    361          . . . S @OXML@(I)=$P(@OXML@(I),"@@",1)_TVAL_$P(@OXML@(I),"@@",3)
    362          W "MAPPED",!
    363          Q
    364          ;
    365349MAP(IXML,INARY,OXML)    ; SUBSTITUTE MULTIPLE @@X@@ VARS WITH VALUES IN INARY
    366350     ; AND PUT THE RESULTS IN OXML
     
    437421        ;
    438422TEST     ; Run all the test cases
    439         D TESTALL^GPLUNIT("GPLXPATH")
    440         Q
    441         ;
    442 OLDTEST   ; RUN ALL THE TEST CASES
    443         N ZTMP
    444         D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
    445         D ZTEST^GPLUNIT(.ZTMP,"ALL")
    446         W "PASSED: ",TPASSED,!
    447         W "FAILED: ",TFAILED,!
    448         W !
    449         ; W "THE TESTS!",!
    450         ; ZWR ZTMP
     423        D TESTALL^GPLUNIT("GPLXPAT0")
    451424        Q
    452425        ;
     
    454427          N ZTMP
    455428          S DEBUG=1
    456           D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
     429          D ZLOAD^GPLUNIT("ZTMP","GPLXPAT0")
    457430          D ZTEST^GPLUNIT(.ZTMP,WHICH)
    458431          Q
     
    460433TLIST   ; LIST THE TESTS
    461434        N ZTMP
    462         D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
     435        D ZLOAD^GPLUNIT("ZTMP","GPLXPAT0")
    463436        D TLIST^GPLUNIT(.ZTMP)
    464437        Q
    465438        ;
    466  ;;><TEST>
    467  ;;><INIT>
    468  ;;>>>K GPL S GPL=""
    469  ;;>>>D PUSH^GPLXPATH("GPL","FIRST")
    470  ;;>>>D PUSH^GPLXPATH("GPL","SECOND")
    471  ;;>>>D PUSH^GPLXPATH("GPL","THIRD")
    472  ;;>>>D PUSH^GPLXPATH("GPL","FOURTH")
    473  ;;>>?GPL(0)=4
    474  ;;><INITXML>
    475  ;;>>>K GXML S GXML=""
    476  ;;>>>D PUSH^GPLXPATH("GXML","<FIRST>")
    477  ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
    478  ;;>>>D PUSH^GPLXPATH("GXML","<THIRD>")
    479  ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>@@DATA1@@</FOURTH>")
    480  ;;>>>D PUSH^GPLXPATH("GXML","<FIFTH>")
    481  ;;>>>D PUSH^GPLXPATH("GXML","@@DATA2@@")
    482  ;;>>>D PUSH^GPLXPATH("GXML","</FIFTH>")
    483  ;;>>>D PUSH^GPLXPATH("GXML","<SIXTH ID=""SELF"" />")
    484  ;;>>>D PUSH^GPLXPATH("GXML","</THIRD>")
    485  ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
    486  ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
    487  ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
    488  ;;>>>D PUSH^GPLXPATH("GXML","</FIRST>")
    489  ;;><INITXML2>
    490  ;;>>>K GXML S GXML=""
    491  ;;>>>D PUSH^GPLXPATH("GXML","<FIRST>")
    492  ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
    493  ;;>>>D PUSH^GPLXPATH("GXML","<THIRD>")
    494  ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>DATA1</FOURTH>")
    495  ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>")
    496  ;;>>>D PUSH^GPLXPATH("GXML","DATA2")
    497  ;;>>>D PUSH^GPLXPATH("GXML","</FOURTH>")
    498  ;;>>>D PUSH^GPLXPATH("GXML","</THIRD>")
    499  ;;>>>D PUSH^GPLXPATH("GXML","<_SECOND>")
    500  ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>DATA3</FOURTH>")
    501  ;;>>>D PUSH^GPLXPATH("GXML","</_SECOND>")
    502  ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
    503  ;;>>>D PUSH^GPLXPATH("GXML","</FIRST>")
    504  ;;><PUSHPOP>
    505  ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
    506  ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INIT")
    507  ;;>>?GPL(GPL(0))="FOURTH"
    508  ;;>>>D POP^GPLXPATH("GPL",.GX)
    509  ;;>>?GX="FOURTH"
    510  ;;>>?GPL(GPL(0))="THIRD"
    511  ;;>>>D POP^GPLXPATH("GPL",.GX)
    512  ;;>>?GX="THIRD"
    513  ;;>>?GPL(GPL(0))="SECOND"
    514  ;;><MKMDX>
    515  ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
    516  ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INIT")
    517  ;;>>>S GX=""
    518  ;;>>>D MKMDX^GPLXPATH("GPL",.GX)
    519  ;;>>?GX="//FIRST/SECOND/THIRD/FOURTH"
    520  ;;><XNAME>
    521  ;;>>?$$XNAME^GPLXPATH("<FOURTH>DATA1</FOURTH>")="FOURTH"
    522  ;;>>?$$XNAME^GPLXPATH("<SIXTH  ID=""SELF"" />")="SIXTH"
    523  ;;>>?$$XNAME^GPLXPATH("</THIRD>")="THIRD"
    524  ;;><INDEX>
    525  ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
    526  ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INITXML")
    527  ;;>>>D INDEX^GPLXPATH("GXML")
    528  ;;>>?GXML("//FIRST/SECOND")="2^12"
    529  ;;>>?GXML("//FIRST/SECOND/THIRD")="3^9"
    530  ;;>>?GXML("//FIRST/SECOND/THIRD/FIFTH")="5^7"
    531  ;;>>?GXML("//FIRST/SECOND/THIRD/FOURTH")="4^4"
    532  ;;>>?GXML("//FIRST/SECOND/THIRD/SIXTH")="8^8"
    533  ;;>>?GXML("//FIRST/SECOND")="2^12"
    534  ;;>>?GXML("//FIRST")="1^13"
    535  ;;><INDEX2>
    536  ;;>>>D ZTEST^GPLXPATH("INITXML2")
    537  ;;>>>D INDEX^GPLXPATH("GXML")
    538  ;;>>?GXML("//FIRST/SECOND")="2^12"
    539  ;;>>?GXML("//FIRST/SECOND/_SECOND")="9^11"
    540  ;;>>?GXML("//FIRST/SECOND/_SECOND/FOURTH")="10^10"
    541  ;;>>?GXML("//FIRST/SECOND/THIRD")="3^8"
    542  ;;>>?GXML("//FIRST/SECOND/THIRD/FOURTH")="4^7"
    543  ;;>>?GXML("//FIRST")="1^13"
    544  ;;><MISSING>
    545  ;;>>>D ZTEST^GPLXPATH("INITXML")
    546  ;;>>>S OUTARY="^TMP($J,""MISSINGTEST"")"
    547  ;;>>>D MISSING^GPLXPATH("GXML",OUTARY)
    548  ;;>>?@OUTARY@(1)="DATA1"
    549  ;;>>?@OUTARY@(2)="DATA2"
    550  ;;><MAP>
    551  ;;>>>D ZTEST^GPLXPATH("INITXML")
    552  ;;>>>S MAPARY="^TMP($J,""MAPVALUES"")"
    553  ;;>>>S OUTARY="^TMP($J,""MAPTEST"")"
    554  ;;>>>S @MAPARY@("DATA2")="VALUE2"
    555  ;;>>>D MAP^GPLXPATH("GXML",MAPARY,OUTARY)
    556  ;;>>?@OUTARY@(6)="VALUE2"
    557  ;;><MAP2>
    558  ;;>>>D ZTEST^GPLXPATH("INITXML")
    559  ;;>>>S MAPARY="^TMP($J,""MAPVALUES"")"
    560  ;;>>>S OUTARY="^TMP($J,""MAPTEST"")"
    561  ;;>>>S @MAPARY@("DATA1")="VALUE1"
    562  ;;>>>S @MAPARY@("DATA2")="VALUE2"
    563  ;;>>>S @MAPARY@("DATA3")="VALUE3"
    564  ;;>>>S GXML(4)="<FOURTH>@@DATA1@@ AND @@DATA3@@</FOURTH>"
    565  ;;>>>D MAP^GPLXPATH("GXML",MAPARY,OUTARY)
    566  ;;>>>D PARY^GPLXPATH(OUTARY)
    567  ;;>>?@OUTARY@(4)="<FOURTH>VALUE1 AND VALUE3</FOURTH>"
    568  ;;><QUEUE>
    569  ;;>>>D QUEUE^GPLXPATH("BTLIST","GXML",2,3)
    570  ;;>>>D QUEUE^GPLXPATH("BTLIST","GXML",4,5)
    571  ;;>>?$P(BTLIST(2),";",2)=4
    572  ;;><BUILD>
    573  ;;>>>D ZTEST^GPLXPATH("INITXML")
    574  ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FOURTH","G2")
    575  ;;>>>D ZTEST^GPLXPATH("QUEUE")
    576  ;;>>>D BUILD^GPLXPATH("BTLIST","G3")
    577  ;;><CP>
    578  ;;>>>D ZTEST^GPLXPATH("INITXML")
    579  ;;>>>D CP^GPLXPATH("GXML","G2")
    580  ;;>>?G2(0)=13
    581  ;;><QOPEN>
    582  ;;>>>K G2,GBL
    583  ;;>>>D ZTEST^GPLXPATH("INITXML")
    584  ;;>>>D QOPEN^GPLXPATH("GBL","GXML")
    585  ;;>>?$P(GBL(1),";",3)=12
    586  ;;>>>D BUILD^GPLXPATH("GBL","G2")
    587  ;;>>?G2(G2(0))="</SECOND>"
    588  ;;><QOPEN2>
    589  ;;>>>K G2,GBL
    590  ;;>>>D ZTEST^GPLXPATH("INITXML")
    591  ;;>>>D QOPEN^GPLXPATH("GBL","GXML","//FIRST/SECOND")
    592  ;;>>?$P(GBL(1),";",3)=11
    593  ;;>>>D BUILD^GPLXPATH("GBL","G2")
    594  ;;>>?G2(G2(0))="</SECOND>"
    595  ;;><QCLOSE>
    596  ;;>>>K G2,GBL
    597  ;;>>>D ZTEST^GPLXPATH("INITXML")
    598  ;;>>>D QCLOSE^GPLXPATH("GBL","GXML")
    599  ;;>>?$P(GBL(1),";",3)=13
    600  ;;>>>D BUILD^GPLXPATH("GBL","G2")
    601  ;;>>?G2(G2(0))="</FIRST>"
    602  ;;><QCLOSE2>
    603  ;;>>>K G2,GBL
    604  ;;>>>D ZTEST^GPLXPATH("INITXML")
    605  ;;>>>D QCLOSE^GPLXPATH("GBL","GXML","//FIRST/SECOND/THIRD")
    606  ;;>>?$P(GBL(1),";",3)=13
    607  ;;>>>D BUILD^GPLXPATH("GBL","G2")
    608  ;;>>?G2(G2(0))="</FIRST>"
    609  ;;>>?G2(1)="</THIRD>"
    610  ;;><INSERT>
    611  ;;>>>K G2,GBL,G3,G4
    612  ;;>>>D ZTEST^GPLXPATH("INITXML")
    613  ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FIFTH","G2")
    614  ;;>>>D INSERT^GPLXPATH("GXML","G2","//FIRST/SECOND/THIRD")
    615  ;;>>>D INSERT^GPLXPATH("G3","G2","//")
    616  ;;>>?G2(1)=GXML(9)
    617  ;;><REPLACE>
    618  ;;>>>K G2,GBL,G3
    619  ;;>>>D ZTEST^GPLXPATH("INITXML")
    620  ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FIFTH","G2")
    621  ;;>>>D REPLACE^GPLXPATH("GXML","G2","//FIRST/SECOND")
    622  ;;>>?GXML(2)="<FIFTH>"
    623  ;;><INSINNER>
    624  ;;>>>K GXML,G2,GBL,G3
    625  ;;>>>D ZTEST^GPLXPATH("INITXML")
    626  ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD","G2")
    627  ;;>>>D INSINNER^GPLXPATH("GXML","G2","//FIRST/SECOND/THIRD")
    628  ;;>>?GXML(10)="<FIFTH>"
    629  ;;><INSINNER2>
    630  ;;>>>K GXML,G2,GBL,G3
    631  ;;>>>D ZTEST^GPLXPATH("INITXML")
    632  ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD","G2")
    633  ;;>>>D INSINNER^GPLXPATH("G2","G2")
    634  ;;>>?G2(8)="<FIFTH>"
    635  ;;></TEST>
Note: See TracChangeset for help on using the changeset viewer.