107. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/2/2019 1:06:58 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

107.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\ARS_Backend\ars_app\src\test\java\gov\va\med\ewv\util EwvSetToNullsLastListTest.java Wed Mar 27 19:21:17 2019 UTC
2 C:\AraxisMergeCompare\Pri_re\ARS_Backend\ars_app\src\test\java\gov\va\med\ewv\util EwvSetToNullsLastListTest.java Fri Mar 29 17:48:31 2019 UTC

107.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 2370
Changed 1 2
Inserted 0 0
Removed 0 0

107.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

107.4 Active regular expressions

No regular expressions were active.

107.5 Comparison detail

  1   /**
  2    * 
  3    */
  4   package go v.va.med.e wv.util;
  5  
  6   import sta tic gov.va .med.ewv.u til.EwvSet ToNullsLas tList.getE wvServiceL inesList;
  7   import sta tic gov.va .med.ewv.u til.EwvSet ToNullsLas tList.getE wvSvcLineD meList;
  8   import sta tic gov.va .med.ewv.u til.NullsL astCompara tor.localD ateUSA;
  9   import sta tic gov.va .med.ewv.u til.NullsL astCompara tor.nullsL astBigDeci malCompara tor;
  10   import sta tic gov.va .med.ewv.u til.NullsL astCompara tor.nullsL astLocalDa teStringCo mparator;
  11   import sta tic gov.va .med.ewv.u til.NullsL astCompara tor.nullsL astStringC omparator;
  12   //import s tatic gov. va.med.ewv .util.SetT oSortedLis t.toSorted List;
  13   import sta tic org.ju nit.Assert .assertEqu als;
  14   import sta tic org.ju nit.Assert .assertTru e;
  15  
  16   import jav a.math.Big Decimal;
  17   import jav a.time.Loc alDate;
  18   import jav a.util.Col lections;
  19   import jav a.util.Com parator;
  20   import jav a.util.Has hSet;
  21   import jav a.util.Lis t;
  22   import jav a.util.Set ;
  23   import jav a.util.fun ction.BiCo nsumer;
  24   import jav a.util.fun ction.BiFu nction;
  25   import jav a.util.fun ction.Func tion;
  26   import jav a.util.fun ction.Supp lier;
  27   import jav a.util.str eam.Collec tors;
  28   import jav a.util.str eam.IntStr eam;
  29   import jav a.util.str eam.Stream ;
  30  
  31   import org .junit.Aft er;
  32   import org .junit.Aft erClass;
  33   import org .junit.Bef ore;
  34   import org .junit.Bef oreClass;
  35   import org .junit.Ign ore;
  36   import org .junit.Tes t;
  37  
  38   import gov .va.med.do main.ewv.E wvAmbulanc eInfo5010;
  39   import gov .va.med.do main.ewv.E wvClaimOhi s;
  40   import gov .va.med.do main.ewv.E wvClaims;
  41   import gov .va.med.do main.ewv.E wvServiceL ineOhiAdjt mts;
  42   import gov .va.med.do main.ewv.E wvServiceL ineOhis;
  43   import gov .va.med.do main.ewv.E wvServiceL ines;
  44   import gov .va.med.do main.ewv.E wvServiceL inesDrugs;
  45   import gov .va.med.do main.ewv.E wvSlProvid er;
  46   import gov .va.med.do main.ewv.E wvSvcLineD me;
  47   import gov .va.med.do main.ewv.E wvSvcLineT eeth;
  48  
  49   /**
  50    * @author   DNS     BadgeB
  51    *
  52    */
  53   public cla ss EwvSetT oNullsLast ListTest {
  54  
  55           //  sample cl ass contai ning Set<>  for testi ng toSorte dList
  56           st atic List< Integer> i ntegerList (int ...iA rr)
  57           {
  58                    retu rn IntStre am.of(iArr )
  59                    .box ed()
  60                    .col lect(Colle ctors.toLi st());
  61           }
  62  
  63           st atic Set<I nteger> in tegerSet(i nt ...iArr )
  64           {
  65                    retu rn IntStre am.of(iArr )
  66                    .box ed()
  67                    .col lect(Colle ctors.toSe t());
  68           }
  69  
  70           cl ass HasInt egerSet {
  71  
  72                    Set< Integer> i Set;
  73                    Set< Integer> g etISet() {  return iS et; }
  74  
  75                    HasI ntegerSet( int ...iAr r)
  76                    {
  77                             this.i Set = inte gerSet(iAr r);
  78                    }
  79  
  80           }
  81  
  82           st atic int[]  iArr = {3 ,1,4,1,5,9 ,2,6,5,3,5 ,8,9};         // Ver y specific , do not c hange
  83           st atic List< Integer> i Dist1 = In tStream.of (iArr)
  84                             .disti nct()      // {3,1,4, 5,9,2,6,8}
  85                             .sorte d()        // {1,2,3, 4,5,6,8,9}
  86                             .boxed ()         // Integer ({1,2,3,4, 5,6,8,9})
  87                             .map(( iv) -> { r eturn iv.e quals(1) ?  null : iv ; })       // convert  Integer(1 ) to null  (at beginn ing) 
  88                             .colle ct(Collect ors.toList ());  // { null, Inte ger(2), In teger(3),  Integer(4) , Integer( 5), Intege r(6), Inte ger(8), In teger(9)}
  89           
  90           st atic List< Integer> i Dist9 = In tStream.of (iArr)
  91                             .disti nct()
  92                             .sorte d()
  93                             .boxed ()
  94                             .map(( iv) -> { r eturn iv.e quals(9) ?  null : iv ; })       // convert  Integer(9 ) to null  at end
  95                             .colle ct(Collect ors.toList ());  // { Integer(1) , Integer( 2), Intege r(3), Inte ger(4), In teger(5),  Integer(6) , Integer( 8), null}
  96  
  97           st atic Set<I nteger> iS et1 = IntS tream.of(i Arr)
  98                             .boxed ()
  99                             .map(( iv) -> { r eturn iv.e quals(1) ?  null : iv ; })       // convert  Integer(1 ) to null 
  100                             .colle ct(Collect ors.toSet( ));   // Y ou can put  a null in  a set
  101  
  102           st atic Set<I nteger> iS et9 = IntS tream.of(i Arr)
  103                             .boxed ()
  104                             .map(( iv) -> { r eturn iv.e quals(9) ?  null : iv ; })       // convert  Integer(9 ) to null 
  105                             .colle ct(Collect ors.toSet( ));
  106  
  107           st atic List< Integer> i List = Int Stream.of( iArr)
  108                             .boxed ().collect (Collector s.toList() );
  109           st atic Set<I nteger> iS et = IntSt ream.of(iA rr)
  110                             .boxed ().collect (Collector s.toSet()) ;
  111  
  112           /* *
  113            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvClaimOhi sList(gov. va.med.dom ain.ewv.Ew vClaims)}.
  114            * /
  115           pu blic stati c <T, E> v oid testGe tList_null s(
  116                             Suppli er<T> newT ,
  117                             BiCons umer<T, Se t<E>> setE Set,
  118                             Functi on<T, List <E>> getEL ist
  119                             ) {
  120   //      pu blic stati c List<Ewv ClaimOhis>  getEwvCla imOhisList (EwvClaims  obj) {
  121   //               retu rn sortedL ist(obj, E wvClaims:: getEwvClai mOhises, E wvNullsLas tComparato r::compare );
  122   //      }
  123                    T ob j = newT.g et();
  124                    Set< E> emptySe t = Collec tions.<E>e mptySet();
  125                    List <E> emptyL ist = Coll ections.<E >emptyList ();
  126                    
  127   //               Set< E> set = n ull;
  128                    List <E> list =  null;
  129  
  130                    // t est null o bj
  131                    list  = getELis t.apply(nu ll);
  132                    asse rtEquals(l ist, empty List);
  133                    
  134   //               // t est null s etEwvServi ceLineses
  135                    setE Set.accept (obj, null );
  136                    list  = getELis t.apply(ob j);
  137                    asse rtEquals(l ist, empty List);
  138   //               
  139   //               // t est empty  setEwvServ iceLineses
  140                    setE Set.accept (obj, empt ySet);
  141                    list  = getELis t.apply(ob j);
  142                    asse rtEquals(l ist, empty List);
  143                    
  144           }
  145  
  146           pu blic stati c <T, E> v oid testSe t_GetList_ LocalDateS tring_Stri ng_BigDeci mal(
  147                             Suppli er<T> newT ,
  148                             BiCons umer<T, Se t<E>> setE Set,
  149                             Functi on<T, List <E>> getEL ist,
  150                             Suppli er<E> newE ,
  151                             BiCons umer<E, St ring> setE 0,
  152                             BiCons umer<E, St ring> setE 1,
  153                             BiCons umer<E, Bi gDecimal>  setE2,
  154                             Stream <String> d ata,
  155                             Compar ator<E> co mpE
  156                             ) {
  157  
  158                    T ob j = newT.g et();
  159                    
  160                    Set< E> testSet  = new Has hSet<E>();
  161                    List <E> list =  null;
  162  
  163                    Set< E> data1Se t = genDat e_LocalDat eString_St ring_BigDe cimal(
  164                             newE,
  165                             setE0,
  166                             setE1,
  167                             setE2,
  168                             data
  169                             );
  170  
  171                    test Set.addAll (data1Set) ;
  172                    
  173                    E it  = null;
  174  
  175                    // G enerate so me data
  176                    // A  Set is in  "random"  order so w e probably  don't hav e to shuff le the lis t
  177                    Set< E> binaryC hoiceSet =  new HashS et<E>(); 
  178  
  179                    for(  String dd  : "01|17" .split("\\ |")) {
  180                             for( S tring mm :  "03|10".s plit("\\|" )) {
  181                                      for (Str ing yyyy :  "2003|201 8".split(" \\|")) {
  182                                               String dat e = String .join("/",  mm, dd, y yyy);
  183                                               for(String  code : "P C|CP".spli t("\\|"))  {
  184                                                       fo r(String l n : "3|7". split("\\| ")) {
  185                                                                long  lineNo =  Long.parse Long(ln);
  186  
  187                                                                it =  newE.get( );
  188                                                                setE 0.accept(i t,date);
  189                                                                setE 1.accept(i t,code);
  190                                                                setE 2.accept(i t,new BigD ecimal(lin eNo * 0.1) );
  191                                                                bina ryChoiceSe t.add(it);
  192                                                       }
  193                                               }
  194                                      }
  195                             }
  196                    }
  197  
  198                    test Set.addAll (binaryCho iceSet);
  199  
  200                    // S et the tes t case
  201                    setE Set.accept (obj,testS et);
  202  
  203                    // D o the oper ation
  204                    list  = getELis t.apply(ob j);
  205  
  206                    // C heck the r esult
  207                    // W e need to  compare ea ch element  with the  next eleme nt.
  208                    // B ut it's ea sier to co mpare with  the previ ous elemen t.
  209                    //
  210                    test List(list,  (prev, cu rr) -> {re turn compE .compare(p rev, curr)  < 0;});
  211           }
  212  
  213           pu blic stati c <T, E> v oid testSe t_GetList_ String_Loc alDateStri ng_BigDeci mal(
  214                             Suppli er<T> newT ,
  215                             BiCons umer<T, Se t<E>> setE Set,
  216                             Functi on<T, List <E>> getEL ist,
  217                             Suppli er<E> newE ,
  218                             BiCons umer<E, St ring> setE 0,
  219                             BiCons umer<E, St ring> setE 1,    // L ocal Date  String
  220                             BiCons umer<E, Bi gDecimal>  setE2,
  221                             Stream <String> d ata,
  222                             Compar ator<E> co mpE
  223                             ) {
  224  
  225                    T ob j = newT.g et();
  226                    
  227                    Set< E> testSet  = new Has hSet<E>();
  228                    List <E> list =  null;
  229  
  230                    Set< E> data1Se t = genDat e_LocalDat eString_St ring_BigDe cimal(
  231                             newE,
  232                             setE1,   // swap  to LocalDa te
  233                             setE0,   // use S tring
  234                             setE2,
  235                             data
  236                             );
  237  
  238                    test Set.addAll (data1Set) ;
  239                    
  240                    E it  = null;
  241  
  242                    // G enerate so me data
  243                    // A  Set is in  "random"  order so w e probably  don't hav e to shuff le the lis t
  244                    Set< E> binaryC hoiceSet =  new HashS et<E>(); 
  245  
  246                    for( String cod e : "PC|CP ".split("\ \|")) {
  247                             for( S tring dd :  "01|17".s plit("\\|" )) {
  248                                      for( Str ing mm : " 03|10".spl it("\\|"))  {
  249                                               for (Strin g yyyy : " 2003|2018" .split("\\ |")) {
  250                                                       St ring date  = String.j oin("/", m m, dd, yyy y);
  251                                                       fo r(String l n : "3|7". split("\\| ")) {
  252                                                                long  lineNo =  Long.parse Long(ln);
  253  
  254                                                                it =  newE.get( );
  255                                                                setE 0.accept(i t,code);
  256                                                                setE 1.accept(i t,date);
  257                                                                setE 2.accept(i t,new BigD ecimal(lin eNo * 0.1) );
  258                                                                bina ryChoiceSe t.add(it);
  259                                                       }
  260                                               }
  261                                      }
  262                             }
  263                    }
  264  
  265                    test Set.addAll (binaryCho iceSet);
  266  
  267                    // S et the tes t case
  268                    setE Set.accept (obj,testS et);
  269  
  270                    // D o the oper ation
  271                    list  = getELis t.apply(ob j);
  272  
  273                    // C heck the r esult
  274                    // W e need to  compare ea ch element  with the  next eleme nt.
  275                    // B ut it's ea sier to co mpare with  the previ ous elemen t.
  276                    //
  277                    test List(list,  (prev, cu rr) -> {re turn compE .compare(p rev, curr)  < 0;});
  278           }
  279  
  280           pu blic stati c <T, E> v oid testSe t_GetListS SS(
  281                             Suppli er<T> newT ,
  282                             BiCons umer<T, Se t<E>> setE Set,
  283                             Functi on<T, List <E>> getEL ist,
  284                             Suppli er<E> newE ,
  285                             BiCons umer<E, St ring> setE 0,
  286                             BiCons umer<E, St ring> setE 1,
  287                             BiCons umer<E, St ring> setE 2,
  288                             Stream <String> d ata,
  289                             Compar ator<E> co mpE
  290                             ) {
  291  
  292                    T ob j = newT.g et();
  293                    
  294                    Set< E> testSet  = new Has hSet<E>();
  295                    List <E> list =  null;
  296  
  297                    Set< E> data1Se t = genDat aSSS(
  298                             newE,
  299                             setE0,
  300                             //setE 1,
  301                             setE2,
  302                             data
  303                             );
  304  
  305                    test Set.addAll (data1Set) ;
  306                    
  307                    E it  = null;
  308  
  309                    // G enerate so me data
  310                    // A  Set is in  "random"  order so w e probably  don't hav e to shuff le the lis t
  311                    Set< E> binaryC hoiceSet =  new HashS et<E>(); 
  312  
  313                    for(  String dd  : "01|17" .split("\\ |")) {
  314                             for( S tring mm :  "03|10".s plit("\\|" )) {
  315                                      for (Str ing yyyy :  "2003|201 8".split(" \\|")) {
  316                                               String dat e = String .join("/",  mm, dd, y yyy);
  317                                               for(String  code : "P C|CP".spli t("\\|"))  {
  318                                                       fo r(String l n : "3|7". split("\\| ")) {
  319                                                                long  lineNo =  Long.parse Long(ln);
  320  
  321                                                                it =  newE.get( );
  322                                                                setE 0.accept(i t,date);
  323                                                                setE 1.accept(i t,code);
  324                                                                setE 2.accept(i t,ln);
  325                                                                bina ryChoiceSe t.add(it);
  326                                                       }
  327                                               }
  328                                      }
  329                             }
  330                    }
  331  
  332                    test Set.addAll (binaryCho iceSet);
  333  
  334                    // S et the tes t case
  335                    setE Set.accept (obj,testS et);
  336  
  337                    // D o the oper ation
  338                    list  = getELis t.apply(ob j);
  339  
  340                    // C heck the r esult
  341                    // W e need to  compare ea ch element  with the  next eleme nt.
  342                    // B ut it's ea sier to co mpare with  the previ ous elemen t.
  343                    //
  344                    test List(list,  (prev, cu rr) -> {re turn compE .compare(p rev, curr)  < 0;});
  345           }
  346  
  347           pu blic stati c <T, E> v oid testSe t_GetList(
  348                                      T obj,
  349                                      Set<E> s et,
  350                                      BiConsum er<T, Set< E>> setESe t,
  351                                      Function <T, List<E >> getELis t,
  352                                      Comparat or<E> comp E
  353                                      ) {
  354                    setE Set.accept (obj, set) ;                                  // Set t he test ca se
  355                    List <E> list =  getEList. apply(obj) ;              // Do  the operat ion
  356                    test List(list,  (a,b) ->  { return c ompE.compa re(a, b) <  1; });                                       // Check  the resul t
  357           }        
  358  
  359           pu blic stati c <E> void  testList(
  360                             List<E > list,
  361                             BiFunc tion<E, E,  Boolean>  testE
  362                             ) {
  363  
  364                    // C heck the r esult
  365                    // W e need to  compare ea ch element  with the  next eleme nt.
  366                    // B ut it's ea sier to co mpare with  the previ ous elemen t.
  367                    //
  368  
  369                    bool ean havePr ev = false ;
  370                    E pr ev = null;
  371                    for  (E curr :  list) {
  372                             if (ha vePrev) {
  373                                      assertTr ue( testE. apply(prev , curr) );                    
  374                             }
  375                             prev =  curr;     // remembe r for next  time
  376                             havePr ev = true;  // rememb er that we  remember
  377                    }
  378           }        
  379  
  380           pu blic stati c String[]  data1 = {
  381                             // Mak e sure it  is handled  as a date : Choose d ateStrings  that sort  different ly than St rings
  382                             // Cha nge #1, #2 , #3
  383  
  384                             // Cha nge #1, #2 , #3 Year  vs. Month  Day
  385                             "10/29 /2018|PC3| 23", 
  386                             "10/28 /2018|PC1| 23", 
  387                             "10/27 /2018|PC4| 23", 
  388                             "10/26 /2018|PC3| 32", 
  389                             "10/25 /2018|PC1| 32", 
  390                             "10/24 /2018|PC4| 32", 
  391                             
  392                             "10/29 /2017|PC3| 23", 
  393                             "10/29 /2017|PC1| 23", 
  394                             "10/29 /2017|PC4| 23", 
  395                             "10/29 /2017|PC3| 32", 
  396                             "10/29 /2017|PC1| 32", 
  397                             "10/29 /2017|PC4| 32", 
  398  
  399                             "10/29 /1957|PC3| 23", 
  400                             "10/29 /1957|PC1| 23", 
  401                             "10/29 /1957|PC4| 23", 
  402                             "10/29 /1957|PC3| 32", 
  403                             "10/29 /1957|PC1| 32", 
  404                             "10/29 /1957|PC4| 32", 
  405  
  406                             // Cha nge #2, #3
  407                             "10/29 /1|PC3|23"
  408                             "10/29 /2018|PC1| 23", 
  409                             "10/29 /2018|PC4| 23", 
  410                             "10/29 /2018|PC3| 32", 
  411                             "10/29 /2018|PC1| 32", 
  412                             "10/29 /2018|PC4| 32", 
  413                             // Cha nge #3
  414                             "10/29 /2001|PC|3 3", 
  415                             "10/29 /2001|PC|3 1", 
  416                             "10/29 /2001|PC|3 4", 
  417                             };
  418  
  419           pu blic stati c <T, E0,  E1, E2> Se t<T> genDa taSSS(
  420                             Suppli er<T> newT ,
  421                             BiCons umer<T,Str ing> setE0 ,
  422                             //BiCo nsumer<T,  String> se tE1,
  423                             BiCons umer<T, St ring> setE 2,
  424                             Stream <String> d ata) {
  425                    Set< T> set = d ata
  426                                      .map((ro w) -> {
  427                                               String[] c ols = row. split("\\| ");
  428           
  429                                               T obj = ne wT.get();
  430                                               if (cols.l ength > 0)  setE0.acc ept(obj, c ols[0]);
  431                                               //if (cols .length >  1) setE1.a ccept(obj,  cols[1]);
  432                                               if (cols.l ength > 2)  setE2.acc ept(obj, c ols[2]);
  433                                               return obj ; })
  434                                      .collect (Collector s.toSet()) ;
  435                    retu rn set;
  436           }        
  437           pu blic stati c <T, E0,  E1, E2> Se t<T> genDa te_LocalDa teString_S tring_BigD ecimal(
  438                             Suppli er<T> newT ,
  439                             BiCons umer<T,Str ing> setE0 ,
  440                             BiCons umer<T, St ring> setE 1,
  441                             BiCons umer<T, Bi gDecimal>  setE2,
  442                             Stream <String> d ata) {
  443                    Set< T> set = d ata
  444                                      .map((ro w) -> {
  445                                               String[] c ols = row. split("\\| ");
  446           
  447                                               T obj = ne wT.get();
  448                                               if (cols.l ength > 0)  setE0.acc ept(obj, c ols[0]);
  449                                               if (cols.l ength > 1)  setE1.acc ept(obj, c ols[1]);
  450                                               if (cols.l ength > 2)  setE2.acc ept(obj, n ew BigDeci mal(Long.p arseLong(c ols[2]) *  0.1));
  451                                               return obj ; })
  452                                      .collect (Collector s.toSet()) ;
  453                    retu rn set;
  454           }        
  455           
  456           /* *
  457            *  @throws j ava.lang.E xception
  458            * /
  459           @B eforeClass
  460           pu blic stati c void set UpBeforeCl ass() thro ws Excepti on {
  461           }
  462  
  463           /* *
  464            *  @throws j ava.lang.E xception
  465            * /
  466           @A fterClass
  467           pu blic stati c void tea rDownAfter Class() th rows Excep tion {
  468           }
  469  
  470           /* *
  471            *  @throws j ava.lang.E xception
  472            * /
  473           @B efore
  474           pu blic void  setUp() th rows Excep tion {
  475           }
  476  
  477           /* *
  478            *  @throws j ava.lang.E xception
  479            * /
  480           @A fter
  481           pu blic void  tearDown()  throws Ex ception {
  482           }
  483  
  484   //      /* *
  485   //       *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getS ortedList( java.lang. Object, ja va.util.fu nction.Fun ction, jav a.util.Com parator)}.
  486   //       * /
  487   //      @T est
  488   //      pu blic void  testGetSor tedList()  {
  489   ////             publ ic static  <T, R> Lis t<R> sorte dList(T ob j, Functio n<T, Set<R >> getSet,  Comparato r<R> compa re) {
  490   ////                      if (ob j == null)  {
  491   ////                               // We ca n hardly e xtract a s et from a  null objec t.
  492   ////                               // We co uld just r eturn null , and let  the caller  handle it
  493   ////                               // but w e can retu rn an empt y list, wh ich is eas ier to han dle.
  494   ////                               return C ollections .<R>emptyL ist();
  495   ////                      }
  496   ////                      Set<R>  set = get Set.apply( obj);
  497   ////                      // Now , set coul d also be  null, but  toSortedLi st will al so return  an empty l ist in tha t case.
  498   ////                      return  toSortedL ist(set, c ompare);
  499   ////             }
  500   //               List <Integer>  iSort = nu ll;
  501   //               // T est that a  null args  are handl ed.
  502   //               HasI ntegerSet  hasItNull  = null;
  503   //               
  504   //               asse rtNotEqual s(iSort, C ollections .<Integer> emptyList( ));        // iSort i s null
  505   //
  506   //               iSor t = EwvSet ToNullsLas tList.getS ortedList( hasItNull,  HasIntege rSet::getI Set, Integ er::compar e);
  507   //               asse rtEquals(i Sort, Coll ections.<I nteger>emp tyList());
  508   //               
  509   //               iSor t = EwvSet ToNullsLas tList.getS ortedList( hasItNull,  HasIntege rSet::getI Set, Integ er::compar e);
  510   //               asse rtEquals(i Sort, Coll ections.<I nteger>emp tyList());
  511   //
  512   //               iSor t = EwvSet ToNullsLas tList.getS ortedList( null, null , Integer: :compare);       // d on't extra ct, don't  compare 
  513   //               asse rtEquals(i Sort, Coll ections.<I nteger>emp tyList());
  514   //               
  515   //               iSor t = EwvSet ToNullsLas tList.getS ortedList( null, null , null);   // how doe s it resol ve? 
  516   //               asse rtEquals(i Sort, Coll ections.<I nteger>emp tyList());
  517   //               
  518   //               iSor t = getSor tedList(ha sItNull, H asIntegerS et::getISe t, Integer ::compare) ;
  519   //               asse rtEquals(i Sort, Coll ections.<I nteger>emp tyList());
  520   //               
  521   //               iSor t = getSor tedList(ha sItNull, H asIntegerS et::getISe t, Integer ::compare) ;
  522   //               asse rtEquals(i Sort, Coll ections.<I nteger>emp tyList());
  523   //
  524   //               iSor t = getSor tedList(nu ll, null,  null);         // how  does it r esolve? 
  525   //               asse rtEquals(i Sort, Coll ections.<I nteger>emp tyList());
  526   //               
  527   //               // 
  528   //               HasI ntegerSet  hasIt314 =  new HasIn tegerSet(3 ,1,4,1,5,9 ,2,6,5,3,5 ,8,9);
  529   //               iSor t = getSor tedList(ha sIt314, Ha sIntegerSe t::getISet , Integer: :compare);       // 
  530   //               asse rtEquals(i Sort, inte gerList(1, 2,3,4,5,6, 8,9));
  531   //
  532   //      }
  533  
  534           /* *
  535            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvServiceL inesList(g ov.va.med. domain.ewv .EwvClaims )}.
  536            * /
  537           @I gnore
  538           @T est
  539           pu blic void  testGetEwv ServiceLin esList() {
  540   //               .com paring(Ewv ServiceLin es::getBeg inDateOfSe rvice, nul lsLastLoca lDateStrin gComparato r)
  541   //               .the nComparing (EwvServic eLines::ge tProcedure Code, null sLastStrin gComparato r)
  542   //               .the nComparing (EwvServic eLines::ge tLineNumbe r, Long::c ompare)    // This mi ght be all  that is n eeded
  543                    test GetList_nu lls(
  544                                      EwvClaim s::new,
  545                                      EwvClaim s::setEwvS erviceLine ses,
  546                                      EwvSetTo NullsLastL ist::getEw vServiceLi nesList
  547                                      );
  548  
  549                    EwvC laims obj  = new EwvC laims();
  550                    
  551                    Set< EwvService Lines> esl TestSet =  new HashSe t<EwvServi ceLines>() ;
  552                    List <EwvServic eLines> li st = null;
  553  
  554                    Set< EwvService Lines> dat a1Set = ge nDataSSS(
  555                                      EwvServi ceLines::n ew,
  556                                      EwvServi ceLines::s etBeginDat eOfService ,
  557                                      //EwvSer viceLines: :setProced ureCode,
  558                                      (esl, st r) -> { es l.setLineN umber(Long .parseLong (str)); },
  559                                      Stream.o f(data1)
  560                                      );
  561  
  562                    eslT estSet.add All(data1S et);
  563                    
  564                    EwvS erviceLine s esl = nu ll;
  565  
  566                    // G enerate so me data
  567                    // A  Set is in  "random"  order so w e probably  don't hav e to shuff le the lis t
  568                    Set< EwvService Lines> bin aryChoiceS et = new H ashSet<Ewv ServiceLin es>(); 
  569  
  570                    for(  String dd  : "01|17" .split("\\ |")) {
  571                             for( S tring mm :  "03|10".s plit("\\|" )) {
  572                                      for (Str ing yyyy :  "2003|201 8".split(" \\|")) {
  573                                               String dat e = String .join("/",  mm, dd, y yyy);
  574                                               for(String  code : "P C|CP".spli t("\\|"))  {
  575                                                       fo r(String l n : "3|7". split("\\| ")) {
  576                                                                long  lineNo =  Long.parse Long(ln);
  577  
  578                                                                esl  = new EwvS erviceLine s();
  579                                                                esl. setBeginDa teOfServic e(date);
  580                                                                esl. setProcedu reCode(cod e);
  581                                                                esl. setLineNum ber(lineNo );
  582                                                                bina ryChoiceSe t.add(esl) ;
  583  
  584                                                       }
  585                                               }
  586                                      }
  587                             }
  588                    }
  589  
  590                    eslT estSet.add All(binary ChoiceSet) ;
  591  
  592                    // S et the tes t case
  593                    obj. setEwvServ iceLineses (eslTestSe t);
  594  
  595                    // D o the oper ation
  596                    list  = getEwvS erviceLine sList(obj) ;
  597  
  598                    // C heck the r esult
  599                    // W e need to  compare ea ch element  with the  next eleme nt.
  600                    // B ut it's ea sier to co mpare with  the previ ous elemen t.
  601                    //
  602                    Comp arator<Ewv ServiceLin es> compEw vServiceLi nes = Comp arator.nul lsLast(Com parator
  603                                      .compari ng(EwvServ iceLines:: getBeginDa teOfServic e, nullsLa stLocalDat eStringCom parator)
  604                                      .thenCom paring(Ewv ServiceLin es::getPro cedureCode , nullsLas tStringCom parator)
  605                                      .thenCom paring(Ewv ServiceLin es::getLin eNumber, L ong::compa re)
  606                                      );
  607                    test List(list,  (prev, cu rr) -> {re turn compE wvServiceL ines.compa re(prev, c urr) < 0;} );
  608                    
  609                    // B ut what if  Comparato rs are bro ken, misap plied? Do  it in the  raw:
  610                    BiFu nction<Ewv ServiceLin es, EwvSer viceLines,  Boolean>  cmpEwvServ iceLines =
  611                                      (cmp0, c mp1) -> {
  612                                               String d0  = cmp0.get BeginDateO fService() ;
  613                                               String d1  = cmp1.get BeginDateO fService() ;
  614                                               int ds = n ullsLastLo calDateStr ingCompara tor.compar e(d0, d1);     // d s ign
  615                                               if (ds ==  0) {
  616                                                       St ring p0 =  cmp0.getPr ocedureCod e();
  617                                                       St ring p1 =  cmp1.getPr ocedureCod e();
  618                                                       in t ps = nul lsLastStri ngComparat or.compare (p0, p1);
  619                                                       if  (ps == 0)  {
  620                                                                long  l0 = cmp0 .getLineNu mber();
  621                                                                long  l1 = cmp1 .getLineNu mber();
  622                                                                int  ls = Long. compare(l0 , l1);
  623                                                                retu rn ls < 1;
  624                                                       }  else {
  625                                                                retu rn ps < 1;
  626                                                       }
  627                                               } else {
  628                                                       re turn ds <  1;
  629                                               }
  630                                      };
  631                                      
  632                    test List(list,  cmpEwvSer viceLines) ;
  633                    
  634                    // B ut what if  Comparato rs are bro ken, misap plied? Do  it in the  raw: Even  breaking N ullsLast d own
  635                    BiFu nction<Ewv ServiceLin es, EwvSer viceLines,  Boolean>  cmpNullsLa stEwvServi ceLines =
  636                                      (cmp0, c mp1) -> {
  637                                               String d0  = cmp0.get BeginDateO fService() ;
  638                                               String d1  = cmp1.get BeginDateO fService() ;
  639                                               LocalDate  ld0 = loca lDateUSA(d 0);
  640                                               LocalDate  ld1 = loca lDateUSA(d 1);
  641  
  642                                               int ds = d 0 == null
  643                                                                         ? // n ull0
  644                                                                         (d1 ==  null
  645                                                                                  ? 0 // n ull0 == nu ll1 
  646                                                                                  : 1      // null0 >  any1
  647                                                                                  )
  648                                                                         : // a ny0
  649                                                                         (d1 ==  null
  650                                                                                  ? -1 //   any0 < nu ll0 
  651   //                                                                                              :  localDateU SA(d0).com pareTo(loc alDateUSA( d1))); //  this gets  NPE becaus e localDat eUSA("xx")  => null
  652                                                                                                   :  (ld0 == nu ll 
  653                                                                                                            ? (l d1 == null  
  654                                                                                                                     ? 0 //  both null
  655                                                                                                                     : 1 //  Null > an y
  656                                                                                                                     )
  657                                                                                                            : (l d1 == null  ? -1 // n ullsLast
  658                                                                                                                              : ld0.co mpareTo(ld 1))
  659                                                                                                            )
  660                                                                         );
  661                                                                         // Thi s is why w e use null sLast()
  662                                               if (ds ==  0) {
  663                                                       St ring p0 =  cmp0.getPr ocedureCod e();
  664                                                       St ring p1 =  cmp1.getPr ocedureCod e();
  665                                                       in t ps = p0  == null ?  (p1 == nul l ? 0 : 1)       // m ake nullsL ast ? 0 {n ull == nul l} : 1 {nu ll > anyOt her}
  666                                                                     : (p1 == n ull ? -1 :  p0.compar eTo(p1));
  667                                                       if  (ps == 0)  {
  668                                                                // p rimitive l ong cannot  be null
  669                                                                long  l0 = cmp0 .getLineNu mber();
  670                                                                long  l1 = cmp1 .getLineNu mber();
  671                                                                int  ls = Long. compare(l0 , l1);
  672                                                                retu rn ls < 1;
  673                                                       }  else {
  674                                                                retu rn ps < 1;
  675                                                       }
  676                                               } else {
  677                                                       re turn ds <  1;
  678                                               }
  679                                      };
  680                                      
  681                    test List(list,  cmpNullsL astEwvServ iceLines);
  682                    
  683                    // S ome items  should be  null, to f ully check . But we a lready tes t that in  SetToSorte dList
  684                    
  685           }
  686  
  687           /* *
  688            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvClaimOhi sList(gov. va.med.dom ain.ewv.Ew vClaims)}.
  689            * /
  690           @T est
  691           pu blic void  testGetEwv ClaimOhisL ist() {
  692   //      pu blic stati c List<Ewv ClaimOhis>  getEwvCla imOhisList (EwvClaims  obj) {
  693   //               retu rn sortedL ist(obj, E wvClaims:: getEwvClai mOhises, E wvNullsLas tComparato r::compare );
  694   //      }
  695   //               Comp arator.nul lsLast(Com parator
  696   //                                 .compari ng(EwvClai mOhis::get PaymentSeq uenceIndic ator, null sLastStrin gComparato r) 
  697   //                                 .thenCom paring(Ewv ClaimOhis: :getClaimA djustmentD ate, nulls LastLocalD ateStringC omparator)
  698   //                                 .thenCom paring(Ewv ClaimOhis: :getOhiPay erId, null sLastStrin gComparato r)
  699   //                                 .thenCom paring(Ewv ClaimOhis: :getSubscr iberPayerI d, nullsLa stStringCo mparator)
  700   //                                 .thenCom paring(Ewv ClaimOhis: :getOtherP ayerName,  nullsLastS tringCompa rator)
  701   //                                 .thenCom paring(Ewv ClaimOhis: :getOhiGro upName, nu llsLastStr ingCompara tor)
  702   //                                 .thenCom paring(Ewv ClaimOhis: :getFiling Indicator,  nullsLast StringComp arator)
  703   //                                 .thenCom paring(Ewv ClaimOhis: :getBenefi tsAssignme ntIndicato r, nullsLa stStringCo mparator)
  704   //                                 .thenCom paring(Ewv ClaimOhis: :getInsura nceType, n ullsLastSt ringCompar ator)
  705   //                                 .thenCom paring(Ewv ClaimOhis: :getCobSub mittedChar ges, nulls LastString Comparator )
  706   //                                 .thenCom paring(Ewv ClaimOhis: :getCobTot alAllowedA mt, nullsL astStringC omparator)
  707   //                                 .thenCom paring(Ewv ClaimOhis: :getCobApp rovedAmt,  nullsLastS tringCompa rator)
  708   //                                 .thenCom paring(Ewv ClaimOhis: :getCobTot alNoncover edAmt, nul lsLastStri ngComparat or)
  709   //                                 .thenCom paring(Ewv ClaimOhis: :getCobPay erPaidAmt,  nullsLast StringComp arator)
  710   //                                 .thenCom paring(Ewv ClaimOhis: :getCobTot alDeniedAm t, nullsLa stStringCo mparator)
  711   //                                 .thenCom paring(Ewv ClaimOhis: :getCobTot alMedicare PaidAmt, n ullsLastSt ringCompar ator)
  712   //                                 .thenCom paring(Ewv ClaimOhis: :getCobPat ientPaidAm t, nullsLa stStringCo mparator)
  713   //                                 .thenCom paring(Ewv ClaimOhis: :getCobMed icarePaidA mt100, nul lsLastStri ngComparat or)
  714   //                                 .thenCom paring(Ewv ClaimOhis: :getCobPat ientRespon sibility,  nullsLastS tringCompa rator)
  715   //                                 .thenCom paring(Ewv ClaimOhis: :getCobMed icarePaidA mt80, null sLastStrin gComparato r)
  716   //                                 .thenCom paring(Ewv ClaimOhis: :getCobMed icareATrus tFund, nul lsLastStri ngComparat or)
  717   //                                 .thenCom paring(Ewv ClaimOhis: :getCobMed icareBTrus tFund, nul lsLastStri ngComparat or)
  718   //                                 .thenCom paring(Ewv ClaimOhis: :getInpCov eredDays,  nullsLastS tringCompa rator)
  719   //                                 .thenCom paring(Ewv ClaimOhis: :getInpLif etimeReser veDays, nu llsLastStr ingCompara tor)
  720   //                                 .thenCom paring(Ewv ClaimOhis: :getInpLif etimePsych iatricDays , nullsLas tStringCom parator)
  721   //                                 .thenCom paring(Ewv ClaimOhis: :getInpCla imDrgAmt,  nullsLastS tringCompa rator)
  722   //                                 .thenCom paring(Ewv ClaimOhis: :getInpCla imDispropo rShare, nu llsLastStr ingCompara tor)
  723   //                                 .thenCom paring(Ewv ClaimOhis: :getInpMsp PassThroug hAmt, null sLastStrin gComparato r)
  724   //                                 .thenCom paring(Ewv ClaimOhis: :getInpCla imPpsCapit alAmt, nul lsLastStri ngComparat or)
  725   //                                 .thenCom paring(Ewv ClaimOhis: :getInpPps CapitalFsp DrgAmt, nu llsLastStr ingCompara tor)
  726   //                                 .thenCom paring(Ewv ClaimOhis: :getInpPps CapitalHsp DrgAmt, nu llsLastStr ingCompara tor)
  727   //                                 .thenCom paring(Ewv ClaimOhis: :getInpPps CapitalDsh DrgAmt, nu llsLastStr ingCompara tor)
  728   //                                 .thenCom paring(Ewv ClaimOhis: :getInpOld CapitalAmt , nullsLas tStringCom parator)
  729   //                                 .thenCom paring(Ewv ClaimOhis: :getInpPps CapitalIme Amt, nulls LastString Comparator )
  730   //                                 .thenCom paring(Ewv ClaimOhis: :getInpPps OperHospSp ecDrgAmt,  nullsLastS tringCompa rator)
  731   //                                 .thenCom paring(Ewv ClaimOhis: :getInpPps OperFedSpe cDrgAmt, n ullsLastSt ringCompar ator)
  732   //                                 .thenCom paring(Ewv ClaimOhis: :getInpPps CapitalOut lrAmt, nul lsLastStri ngComparat or)
  733   //                                 .thenCom paring(Ewv ClaimOhis: :getInpCla imIndirect TeachAmt,  nullsLastS tringCompa rator)
  734   //                                 .thenCom paring(Ewv ClaimOhis: :getInpNon payablePro fComponent , nullsLas tStringCom parator)
  735   //                                 .thenCom paring(Ewv ClaimOhis: :getInpPps CapitalExc eptionAmt,  nullsLast StringComp arator)
  736   //                                 .thenCom paring(Ewv ClaimOhis: :getInpCos tReportDay Count, nul lsLastStri ngComparat or)
  737   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkCode1,  nullsLastS tringCompa rator)
  738   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkDesc1,  nullsLastS tringCompa rator)
  739   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkCode2,  nullsLastS tringCompa rator)
  740   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkDesc2,  nullsLastS tringCompa rator)
  741   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkCode3,  nullsLastS tringCompa rator)
  742   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkDesc3,  nullsLastS tringCompa rator)
  743   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkCode4,  nullsLastS tringCompa rator)
  744   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkDesc4,  nullsLastS tringCompa rator)
  745   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkCode5,  nullsLastS tringCompa rator)
  746   //                                 .thenCom paring(Ewv ClaimOhis: :getInpRem ittanceRem arkDesc5,  nullsLastS tringCompa rator)
  747   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRei mbursement Rate, null sLastStrin gComparato r)
  748   //                                 .thenCom paring(Ewv ClaimOhis: :getOptEsr dPaidAmt,  nullsLastS tringCompa rator)
  749   //                                 .thenCom paring(Ewv ClaimOhis: :getOptCla imHcpcsPay ableAmt, n ullsLastSt ringCompar ator)
  750   //                                 .thenCom paring(Ewv ClaimOhis: :getOptNon payablePro fComponent , nullsLas tStringCom parator)
  751   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkCode1,  nullsLastS tringCompa rator)
  752   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkDesc1,  nullsLastS tringCompa rator)
  753   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkCode2,  nullsLastS tringCompa rator)
  754   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkDesc2,  nullsLastS tringCompa rator)
  755   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkCode3,  nullsLastS tringCompa rator)
  756   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkDesc3,  nullsLastS tringCompa rator)
  757   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkCode4,  nullsLastS tringCompa rator)
  758   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkDesc4,  nullsLastS tringCompa rator)
  759   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkCode5,  nullsLastS tringCompa rator)
  760   //                                 .thenCom paring(Ewv ClaimOhis: :getOptRem ittanceRem arkDesc5,  nullsLastS tringCompa rator)
  761   ////                                        .thenCompa ring(EwvCl aimOhis::g etewvClaim s, nullsLa stEwvClaim sComparato r)
  762   ////                                        .thenCompa ring(EwvCl aimOhis::g etEwvClaim LevelAdjus tmentses,  nullsLastE wvClaimLev elAdjustme ntsCompara tor)
  763   //                                 .thenCom paring(Ewv ClaimOhis: :getGuid,  nullsLastB igDecimalC omparator)
  764  
  765                    test GetList_nu lls(
  766                                      EwvClaim s::new,
  767                                      EwvClaim s::setEwvC laimOhises ,
  768                                      EwvSetTo NullsLastL ist::getEw vClaimOhis List
  769                                      );
  770                    // S ome items  should be  null, to f ully check . But we a lready tes t that in  SetToSorte dList
  771  
  772                    test Set_GetLis t_String_L ocalDateSt ring_BigDe cimal(
  773                                      EwvClaim s::new,
  774                                      EwvClaim s::setEwvC laimOhises ,
  775                                      EwvSetTo NullsLastL ist::getEw vClaimOhis List,
  776                                      EwvClaim Ohis::new,
  777                                      EwvClaim Ohis::setP aymentSequ enceIndica tor,
  778                                      EwvClaim Ohis::setC laimAdjust mentDate,
  779                                      EwvClaim Ohis::setG uid,
  780                                      Stream.o f(data1),
  781                                      Comparat or.nullsLa st(Compara tor
  782                                                       .c omparing(E wvClaimOhi s::getPaym entSequenc eIndicator , nullsLas tStringCom parator) 
  783                                                       .t henCompari ng(EwvClai mOhis::get ClaimAdjus tmentDate,  nullsLast LocalDateS tringCompa rator)
  784                                                       .t henCompari ng(EwvClai mOhis::get OhiPayerId , nullsLas tStringCom parator)
  785                                                       .t henCompari ng(EwvClai mOhis::get Subscriber PayerId, n ullsLastSt ringCompar ator)
  786                                                       .t henCompari ng(EwvClai mOhis::get OtherPayer Name, null sLastStrin gComparato r)
  787                                                       .t henCompari ng(EwvClai mOhis::get OhiGroupNa me, nullsL astStringC omparator)
  788                                                       .t henCompari ng(EwvClai mOhis::get FilingIndi cator, nul lsLastStri ngComparat or)
  789                                                       .t henCompari ng(EwvClai mOhis::get BenefitsAs signmentIn dicator, n ullsLastSt ringCompar ator)
  790                                                       .t henCompari ng(EwvClai mOhis::get InsuranceT ype, nulls LastString Comparator )
  791                                                       .t henCompari ng(EwvClai mOhis::get CobSubmitt edCharges,  nullsLast StringComp arator)
  792                                                       .t henCompari ng(EwvClai mOhis::get CobTotalAl lowedAmt,  nullsLastS tringCompa rator)
  793                                                       .t henCompari ng(EwvClai mOhis::get CobApprove dAmt, null sLastStrin gComparato r)
  794                                                       .t henCompari ng(EwvClai mOhis::get CobTotalNo ncoveredAm t, nullsLa stStringCo mparator)
  795                                                       .t henCompari ng(EwvClai mOhis::get CobPayerPa idAmt, nul lsLastStri ngComparat or)
  796                                                       .t henCompari ng(EwvClai mOhis::get CobTotalDe niedAmt, n ullsLastSt ringCompar ator)
  797                                                       .t henCompari ng(EwvClai mOhis::get CobTotalMe dicarePaid Amt, nulls LastString Comparator )
  798                                                       .t henCompari ng(EwvClai mOhis::get CobPatient PaidAmt, n ullsLastSt ringCompar ator)
  799                                                       .t henCompari ng(EwvClai mOhis::get CobMedicar ePaidAmt10 0, nullsLa stStringCo mparator)
  800                                                       .t henCompari ng(EwvClai mOhis::get CobPatient Responsibi lity, null sLastStrin gComparato r)
  801                                                       .t henCompari ng(EwvClai mOhis::get CobMedicar ePaidAmt80 , nullsLas tStringCom parator)
  802                                                       .t henCompari ng(EwvClai mOhis::get CobMedicar eATrustFun d, nullsLa stStringCo mparator)
  803                                                       .t henCompari ng(EwvClai mOhis::get CobMedicar eBTrustFun d, nullsLa stStringCo mparator)
  804                                                       .t henCompari ng(EwvClai mOhis::get InpCovered Days, null sLastStrin gComparato r)
  805                                                       .t henCompari ng(EwvClai mOhis::get InpLifetim eReserveDa ys, nullsL astStringC omparator)
  806                                                       .t henCompari ng(EwvClai mOhis::get InpLifetim ePsychiatr icDays, nu llsLastStr ingCompara tor)
  807                                                       .t henCompari ng(EwvClai mOhis::get InpClaimDr gAmt, null sLastStrin gComparato r)
  808                                                       .t henCompari ng(EwvClai mOhis::get InpClaimDi sproporSha re, nullsL astStringC omparator)
  809                                                       .t henCompari ng(EwvClai mOhis::get InpMspPass ThroughAmt , nullsLas tStringCom parator)
  810                                                       .t henCompari ng(EwvClai mOhis::get InpClaimPp sCapitalAm t, nullsLa stStringCo mparator)
  811                                                       .t henCompari ng(EwvClai mOhis::get InpPpsCapi talFspDrgA mt, nullsL astStringC omparator)
  812                                                       .t henCompari ng(EwvClai mOhis::get InpPpsCapi talHspDrgA mt, nullsL astStringC omparator)
  813                                                       .t henCompari ng(EwvClai mOhis::get InpPpsCapi talDshDrgA mt, nullsL astStringC omparator)
  814                                                       .t henCompari ng(EwvClai mOhis::get InpOldCapi talAmt, nu llsLastStr ingCompara tor)
  815                                                       .t henCompari ng(EwvClai mOhis::get InpPpsCapi talImeAmt,  nullsLast StringComp arator)
  816                                                       .t henCompari ng(EwvClai mOhis::get InpPpsOper HospSpecDr gAmt, null sLastStrin gComparato r)
  817                                                       .t henCompari ng(EwvClai mOhis::get InpPpsOper FedSpecDrg Amt, nulls LastString Comparator )
  818                                                       .t henCompari ng(EwvClai mOhis::get InpPpsCapi talOutlrAm t, nullsLa stStringCo mparator)
  819                                                       .t henCompari ng(EwvClai mOhis::get InpClaimIn directTeac hAmt, null sLastStrin gComparato r)
  820                                                       .t henCompari ng(EwvClai mOhis::get InpNonpaya bleProfCom ponent, nu llsLastStr ingCompara tor)
  821                                                       .t henCompari ng(EwvClai mOhis::get InpPpsCapi talExcepti onAmt, nul lsLastStri ngComparat or)
  822                                                       .t henCompari ng(EwvClai mOhis::get InpCostRep ortDayCoun t, nullsLa stStringCo mparator)
  823                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkC ode1, null sLastStrin gComparato r)
  824                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkD esc1, null sLastStrin gComparato r)
  825                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkC ode2, null sLastStrin gComparato r)
  826                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkD esc2, null sLastStrin gComparato r)
  827                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkC ode3, null sLastStrin gComparato r)
  828                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkD esc3, null sLastStrin gComparato r)
  829                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkC ode4, null sLastStrin gComparato r)
  830                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkD esc4, null sLastStrin gComparato r)
  831                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkC ode5, null sLastStrin gComparato r)
  832                                                       .t henCompari ng(EwvClai mOhis::get InpRemitta nceRemarkD esc5, null sLastStrin gComparato r)
  833                                                       .t henCompari ng(EwvClai mOhis::get OptReimbur sementRate , nullsLas tStringCom parator)
  834                                                       .t henCompari ng(EwvClai mOhis::get OptEsrdPai dAmt, null sLastStrin gComparato r)
  835                                                       .t henCompari ng(EwvClai mOhis::get OptClaimHc pcsPayable Amt, nulls LastString Comparator )
  836                                                       .t henCompari ng(EwvClai mOhis::get OptNonpaya bleProfCom ponent, nu llsLastStr ingCompara tor)
  837                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkC ode1, null sLastStrin gComparato r)
  838                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkD esc1, null sLastStrin gComparato r)
  839                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkC ode2, null sLastStrin gComparato r)
  840                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkD esc2, null sLastStrin gComparato r)
  841                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkC ode3, null sLastStrin gComparato r)
  842                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkD esc3, null sLastStrin gComparato r)
  843                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkC ode4, null sLastStrin gComparato r)
  844                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkD esc4, null sLastStrin gComparato r)
  845                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkC ode5, null sLastStrin gComparato r)
  846                                                       .t henCompari ng(EwvClai mOhis::get OptRemitta nceRemarkD esc5, null sLastStrin gComparato r)
  847   //                                                           .the nComparing (EwvClaimO his::getew vClaims, n ullsLastEw vClaimsCom parator)
  848   //                                                           .the nComparing (EwvClaimO his::getEw vClaimLeve lAdjustmen tses, null sLastEwvCl aimLevelAd justmentsC omparator)
  849                                                       .t henCompari ng(EwvClai mOhis::get Guid, null sLastBigDe cimalCompa rator)
  850                                      )
  851                                      );
  852           }
  853  
  854  
  855           /* *
  856            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvSvcLineD meList(gov .va.med.do main.ewv.E wvServiceL ines)}.
  857            * /
  858           @T est
  859           pu blic void  testGetEwv SvcLineDme List() {
  860   //               publ ic static  final Comp arator<Ewv SvcLineDme > nullsLas tEwvSvcLin eDmeCompar ator =
  861   //                                 Comparat or.nullsLa st(Compara tor
  862   //                                 .compari ng(EwvSvcL ineDme::ge tDmeLength MedicalNec essity, nu llsLastStr ingCompara tor)
  863   //                                 .thenCom paring(Ewv SvcLineDme ::getDmeFr equency, n ullsLastSt ringCompar ator)
  864   //                                 .thenCom paring(Ewv SvcLineDme ::getDmeRe ntalAmt, n ullsLastSt ringCompar ator)
  865   //                                 .thenCom paring(Ewv SvcLineDme ::getDmePu rchaseAmt,  nullsLast StringComp arator)
  866   //                                 .thenCom paring(Ewv SvcLineDme ::getGuid,  nullsLast BigDecimal Comparator )
  867   ////                               .thenCom paring(Ewv SvcLineDme ::getEwvSe rviceLines ;       //  parent ba ck-link
  868   //                                 );
  869                    test GetList_nu lls(
  870                                      EwvServi ceLines::n ew,
  871                                      EwvServi ceLines::s etEwvSvcLi neDmes,
  872                                      EwvSetTo NullsLastL ist::getEw vSvcLineDm eList
  873                                      );
  874                    EwvS erviceLine s obj = ne w EwvServi ceLines();
  875                    
  876                    Set< EwvSvcLine Dme> testS et = new H ashSet<Ewv SvcLineDme >();
  877                    List <EwvSvcLin eDme> list  = null;
  878  
  879                    Set< EwvSvcLine Dme> data1 Set = genD ate_LocalD ateString_ String_Big Decimal(
  880                                      EwvSvcLi neDme::new ,
  881                                      EwvSvcLi neDme::set DmeLengthM edicalNece ssity,
  882                                      EwvSvcLi neDme::set DmeFrequen cy,
  883                                      EwvSvcLi neDme::set Guid,
  884                                      Stream.o f(data1)
  885                                      );
  886  
  887                    test Set.addAll (data1Set) ;
  888                    
  889                    EwvS vcLineDme  it = null;
  890  
  891                    // G enerate so me data
  892                    // A  Set is in  "random"  order so w e probably  don't hav e to shuff le the lis t
  893                    Set< EwvSvcLine Dme> binar yChoiceSet  = new Has hSet<EwvSv cLineDme>( ); 
  894  
  895                    for(  String dd  : "01|17" .split("\\ |")) {
  896                             for( S tring mm :  "03|10".s plit("\\|" )) {
  897                                      for (Str ing yyyy :  "2003|201 8".split(" \\|")) {
  898                                               String dat e = String .join("/",  mm, dd, y yyy);
  899                                               for(String  code : "P C|CP".spli t("\\|"))  {
  900                                                       fo r(String l n : "3|7". split("\\| ")) {
  901                                                                long  lineNo =  Long.parse Long(ln);
  902  
  903                                                                it =  new EwvSv cLineDme() ;
  904                                                                it.s etDmeLengt hMedicalNe cessity(da te);
  905                                                                it.s etDmeFrequ ency(code) ;
  906                                                                it.s etGuid(new  BigDecima l(lineNo *  0.1));
  907                                                                bina ryChoiceSe t.add(it);
  908  
  909                                                       }
  910                                               }
  911                                      }
  912                             }
  913                    }
  914  
  915                    test Set.addAll (binaryCho iceSet);
  916  
  917                    // S et the tes t case
  918                    obj. setEwvSvcL ineDmes(te stSet);
  919  
  920                    // D o the oper ation
  921                    list  = getEwvS vcLineDmeL ist(obj);
  922  
  923                    // C heck the r esult
  924                    // W e need to  compare ea ch element  with the  next eleme nt.
  925                    // B ut it's ea sier to co mpare with  the previ ous elemen t.
  926                    //
  927                    Comp arator<Ewv SvcLineDme > compEwvS erviceLine s = Compar ator.nulls Last(Compa rator
  928                                      .compari ng(EwvSvcL ineDme::ge tDmeLength MedicalNec essity, nu llsLastStr ingCompara tor)
  929                                      .thenCom paring(Ewv SvcLineDme ::getDmeFr equency, n ullsLastSt ringCompar ator)
  930                                      .thenCom paring(Ewv SvcLineDme ::getDmeRe ntalAmt, n ullsLastSt ringCompar ator)
  931                                      .thenCom paring(Ewv SvcLineDme ::getDmePu rchaseAmt,  nullsLast StringComp arator)
  932                                      .thenCom paring(Ewv SvcLineDme ::getGuid,  nullsLast BigDecimal Comparator )
  933                                      );
  934                    test List(list,  (prev, cu rr) -> {re turn compE wvServiceL ines.compa re(prev, c urr) < 0;} );
  935  
  936                    // D O it again  using gen eric funct ion!
  937                    // L ocalDate i s still a  string, so  it's OK!
  938                    test Set_GetLis t_LocalDat eString_St ring_BigDe cimal(
  939                                      EwvServi ceLines::n ew,
  940                                      EwvServi ceLines::s etEwvSvcLi neDmes,
  941                                      EwvSetTo NullsLastL ist::getEw vSvcLineDm eList,
  942                                      EwvSvcLi neDme::new ,
  943                                      EwvSvcLi neDme::set DmeLengthM edicalNece ssity,
  944                                      EwvSvcLi neDme::set DmeFrequen cy,
  945                                      EwvSvcLi neDme::set Guid,
  946                                      Stream.o f(data1),
  947                                      Comparat or.nullsLa st(Compara tor
  948                                                       .c omparing(E wvSvcLineD me::getDme LengthMedi calNecessi ty, nullsL astStringC omparator)
  949                                                       .t henCompari ng(EwvSvcL ineDme::ge tDmeFreque ncy, nulls LastString Comparator )
  950                                                       .t henCompari ng(EwvSvcL ineDme::ge tDmeRental Amt, nulls LastString Comparator )
  951                                                       .t henCompari ng(EwvSvcL ineDme::ge tDmePurcha seAmt, nul lsLastStri ngComparat or)
  952                                                       .t henCompari ng(EwvSvcL ineDme::ge tGuid, nul lsLastBigD ecimalComp arator)
  953                                      )
  954                                      );
  955  
  956   }
  957  
  958           /* *
  959            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvSlProvid erList(gov .va.med.do main.ewv.E wvServiceL ines)}.
  960            * /
  961           @T est
  962           pu blic void  testGetEwv SlProvider List() {
  963                    test GetList_nu lls(
  964                                      EwvServi ceLines::n ew,
  965                                      EwvServi ceLines::s etEwvSlPro viders,
  966                                      EwvSetTo NullsLastL ist::getEw vSlProvide rList
  967                                      );
  968  
  969                    test Set_GetLis t_LocalDat eString_St ring_BigDe cimal(
  970                                      EwvServi ceLines::n ew,
  971                                      EwvServi ceLines::s etEwvSlPro viders,
  972                                      EwvSetTo NullsLastL ist::getEw vSlProvide rList,
  973                                      EwvSlPro vider::new ,
  974                                      EwvSlPro vider::set ProviderTy pe,
  975                                      EwvSlPro vider::set ProviderId ,
  976                                      EwvSlPro vider::set Guid,
  977                                      Stream.o f(data1),
  978                                      Comparat or.nullsLa st(Compara tor
  979                                                       .c omparing(E wvSlProvid er::getPro viderType,  nullsLast StringComp arator)    // test th is
  980                                                       .t henCompari ng(EwvSlPr ovider::ge tProviderI d, nullsLa stStringCo mparator)  // test th is
  981                                                       .t henCompari ng(EwvSlPr ovider::ge tProviderL name, null sLastStrin gComparato r)      //  skip...
  982                                                       .t henCompari ng(EwvSlPr ovider::ge tProviderF name, null sLastStrin gComparato r)
  983                                                       .t henCompari ng(EwvSlPr ovider::ge tProviderN pi5010, nu llsLastStr ingCompara tor)
  984                                                       .t henCompari ng(EwvSlPr ovider::ge tPostalCod e5010, nul lsLastStri ngComparat or)
  985                                                       .t henCompari ng(EwvSlPr ovider::ge tProviderM name, null sLastStrin gComparato r)
  986                                                       .t henCompari ng(EwvSlPr ovider::ge tTaxonomyC ode, nulls LastString Comparator )
  987                                                       .t henCompari ng(EwvSlPr ovider::ge tGuid, nul lsLastBigD ecimalComp arator)    // test th is
  988                                      )
  989                                      );
  990           }
  991  
  992           /* *
  993            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvServiceL ineOhisLis t(gov.va.m ed.domain. ewv.EwvSer viceLines) }.
  994            * /
  995           @T est
  996           pu blic void  testGetEwv ServiceLin eOhisList( ) {
  997                    test GetList_nu lls(
  998                                      EwvServi ceLines::n ew, 
  999                                      EwvServi ceLines::s etEwvServi ceLineOhis es,
  1000                                      EwvSetTo NullsLastL ist::getEw vServiceLi neOhisList
  1001                                      );
  1002  
  1003                    test Set_GetLis t_LocalDat eString_St ring_BigDe cimal(
  1004                                      EwvServi ceLines::n ew,
  1005                                      EwvServi ceLines::s etEwvServi ceLineOhis es,
  1006                                      EwvSetTo NullsLastL ist::getEw vServiceLi neOhisList ,
  1007                                      EwvServi ceLineOhis ::new,
  1008                                      EwvServi ceLineOhis ::setOhiAd judicatedD ate,
  1009                                      EwvServi ceLineOhis ::setProce dureCode,
  1010                                      EwvServi ceLineOhis ::setGuid,
  1011                                      Stream.o f(data1),
  1012                                      Comparat or.nullsLa st(Compara tor
  1013                                                       .c omparing(E wvServiceL ineOhis::g etOhiAdjud icatedDate , NullsLas tComparato r.nullsLas tLocalDate StringComp arator)
  1014                                                       .t henCompari ng(EwvServ iceLineOhi s::getProc edureCode,  nullsLast StringComp arator)
  1015                                                       .t henCompari ng(EwvServ iceLineOhi s::getReve nueCode, n ullsLastSt ringCompar ator)
  1016                                                       .t henCompari ng(EwvServ iceLineOhi s::getAdju dicated, n ullsLastSt ringCompar ator)
  1017                                                       .t henCompari ng(EwvServ iceLineOhi s::getModi fier1, nul lsLastStri ngComparat or)
  1018                                                       .t henCompari ng(EwvServ iceLineOhi s::getModi fier2, nul lsLastStri ngComparat or)
  1019                                                       .t henCompari ng(EwvServ iceLineOhi s::getModi fier3, nul lsLastStri ngComparat or)
  1020                                                       .t henCompari ng(EwvServ iceLineOhi s::getModi fier4, nul lsLastStri ngComparat or)
  1021                                                       .t henCompari ng(EwvServ iceLineOhi s::getPaye rId, nulls LastString Comparator )
  1022                                                       .t henCompari ng(EwvServ iceLineOhi s::getGuid , nullsLas tBigDecima lComparato r)
  1023   //                                                  .t henCompari ng(EwvServ iceLineOhi s::getEwvS erviceLine s, EwvServ iceLines:: compareTo)  // No!
  1024                                      )
  1025                                      );
  1026           }
  1027  
  1028           /* *
  1029            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvSvcLineT eethList(g ov.va.med. domain.ewv .EwvServic eLines)}.
  1030            * /
  1031           @T est
  1032           pu blic void  testGetEwv SvcLineTee thList() {
  1033                    test GetList_nu lls(
  1034                                      EwvServi ceLines::n ew, 
  1035                                      EwvServi ceLines::s etEwvSvcLi neTeeths,
  1036                                      EwvSetTo NullsLastL ist::getEw vSvcLineTe ethList
  1037                                      );
  1038                    test Set_GetLis t_LocalDat eString_St ring_BigDe cimal(
  1039                                      EwvServi ceLines::n ew,
  1040                                      EwvServi ceLines::s etEwvSvcLi neTeeths,
  1041                                      EwvSetTo NullsLastL ist::getEw vSvcLineTe ethList,
  1042                                      EwvSvcLi neTeeth::n ew,
  1043                                      EwvSvcLi neTeeth::s etToothNum ber,
  1044                                      EwvSvcLi neTeeth::s etSurface1 ,
  1045                                      EwvSvcLi neTeeth::s etGuid,
  1046                                      Stream.o f(data1),
  1047                                      Comparat or.nullsLa st(Compara tor
  1048                                                       .c omparing(E wvSvcLineT eeth::getT oothNumber , nullsLas tStringCom parator)
  1049                                                       .t henCompari ng(EwvSvcL ineTeeth:: getSurface 1, nullsLa stStringCo mparator)
  1050                                                       .t henCompari ng(EwvSvcL ineTeeth:: getSurface 2, nullsLa stStringCo mparator)
  1051                                                       .t henCompari ng(EwvSvcL ineTeeth:: getSurface 3, nullsLa stStringCo mparator)
  1052                                                       .t henCompari ng(EwvSvcL ineTeeth:: getSurface 4, nullsLa stStringCo mparator)
  1053                                                       .t henCompari ng(EwvSvcL ineTeeth:: getSurface 5, nullsLa stStringCo mparator)
  1054                                                       .t henCompari ng(EwvSvcL ineTeeth:: getGuid, n ullsLastBi gDecimalCo mparator)
  1055   //                                                           .the nComparing (EwvSvcLin eTeeth::ge tEwvServic eLines;      // paren t back-lin k
  1056                                      )
  1057                                      );
  1058                    }
  1059  
  1060           /* *
  1061            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvAmbulanc eInfo5010L ist(gov.va .med.domai n.ewv.EwvS erviceLine s)}.
  1062            * /
  1063           @T est
  1064           pu blic void  testGetEwv AmbulanceI nfo5010Lis t() {
  1065                    test GetList_nu lls(
  1066                                      EwvServi ceLines::n ew, 
  1067                                      EwvServi ceLines::s etEwvAmbul anceInfo50 10s,
  1068                                      EwvSetTo NullsLastL ist::getEw vAmbulance Info5010Li st
  1069                                      );
  1070                    test Set_GetLis t_LocalDat eString_St ring_BigDe cimal(
  1071                                      EwvServi ceLines::n ew,
  1072                                      EwvServi ceLines::s etEwvAmbul anceInfo50 10s,
  1073                                      EwvSetTo NullsLastL ist::getEw vAmbulance Info5010Li st,
  1074                                      EwvAmbul anceInfo50 10::new,
  1075                                      EwvAmbul anceInfo50 10::setPic kupAddress Line1,
  1076                                      EwvAmbul anceInfo50 10::setPic kupAddress Line2,
  1077                                      EwvAmbul anceInfo50 10::setGui d,
  1078                                      Stream.o f(data1),
  1079                                      Comparat or.nullsLa st(Compara tor
  1080                                                       .c omparing(E wvAmbulanc eInfo5010: :getPickup AddressLin e1, nullsL astStringC omparator)
  1081                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getPi ckupAddres sLine2, nu llsLastStr ingCompara tor)
  1082                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getPi ckupCity,  nullsLastS tringCompa rator)
  1083                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getPi ckupState,  nullsLast StringComp arator)
  1084                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getPi ckupZip, n ullsLastSt ringCompar ator)
  1085                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getDr opoffAddre ssLine1, n ullsLastSt ringCompar ator)
  1086                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getDr opoffAddre ssLine2, n ullsLastSt ringCompar ator)
  1087                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getDr opoffCity,  nullsLast StringComp arator)
  1088                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getDr opoffState , nullsLas tStringCom parator)
  1089                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getDr opoffZip,  nullsLastS tringCompa rator)
  1090                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getTr ansportRea sonCode, n ullsLastSt ringCompar ator)
  1091                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getTr ansportDis tance, nul lsLastStri ngComparat or)
  1092                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getRo undTripPur pose, null sLastStrin gComparato r)
  1093                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getSt retcherPur pose, null sLastStrin gComparato r)
  1094                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCe rtIndicato r1, nullsL astStringC omparator)
  1095                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e11, nulls LastString Comparator )
  1096                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e12, nulls LastString Comparator )
  1097                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e13, nulls LastString Comparator )
  1098                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e14, nulls LastString Comparator )
  1099                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e15, nulls LastString Comparator )
  1100                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCe rtIndicato r2, nullsL astStringC omparator)
  1101                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e21, nulls LastString Comparator )
  1102                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e22, nulls LastString Comparator )
  1103                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e23, nulls LastString Comparator )
  1104                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e24, nulls LastString Comparator )
  1105                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e25, nulls LastString Comparator )
  1106                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCe rtIndicato r3, nullsL astStringC omparator)
  1107                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e31, nulls LastString Comparator )
  1108                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e32, nulls LastString Comparator )
  1109                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e33, nulls LastString Comparator )
  1110                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e34, nulls LastString Comparator )
  1111                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getCo nditionCod e35, nulls LastString Comparator )
  1112                                                       .t henCompari ng(EwvAmbu lanceInfo5 010::getGu id, nullsL astBigDeci malCompara tor)
  1113                                      )
  1114                                      );
  1115  
  1116           }
  1117  
  1118           /* *
  1119            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvServiceL inesDrugsL ist(gov.va .med.domai n.ewv.EwvS erviceLine s)}.
  1120            * /
  1121           @I gnore
  1122           @T est
  1123           pu blic void  testGetEwv ServiceLin esDrugsLis t() {
  1124                    test GetList_nu lls(
  1125                                      EwvServi ceLines::n ew, 
  1126                                      EwvServi ceLines::s etEwvServi ceLinesDru gses,
  1127                                      EwvSetTo NullsLastL ist::getEw vServiceLi nesDrugsLi st
  1128                                      );
  1129  
  1130                    test Set_GetLis tSSS(
  1131                                      EwvServi ceLines::n ew,
  1132                                      EwvServi ceLines::s etEwvServi ceLinesDru gses,
  1133                                      EwvSetTo NullsLastL ist::getEw vServiceLi nesDrugsLi st,
  1134                                      EwvServi ceLinesDru gs::new,
  1135                                      EwvServi ceLinesDru gs::setDru gRx,
  1136                                      EwvServi ceLinesDru gs::setDru gRxNdcCode ,
  1137                                      EwvServi ceLinesDru gs::setDru gRxCategor y5010,
  1138                                      Stream.o f(data1),
  1139                                      Comparat or.nullsLa st(Compara tor
  1140                                                       .c omparing(E wvServiceL inesDrugs: :getDrugRx , nullsLas tStringCom parator)
  1141                                                       .t henCompari ng(EwvServ iceLinesDr ugs::getDr ugRxNdcCod e, nullsLa stStringCo mparator)
  1142                                                       .t henCompari ng(EwvServ iceLinesDr ugs::getDr ugRxQuanti ty, nullsL astStringC omparator)
  1143                                                       .t henCompari ng(EwvServ iceLinesDr ugs::getDr ugRxType,  nullsLastS tringCompa rator)
  1144                                                       .t henCompari ng(EwvServ iceLinesDr ugs::getDr ugRxCharge , nullsLas tStringCom parator)
  1145                                                       .t henCompari ng(EwvServ iceLinesDr ugs::getDr ugRxCatego ry5010, nu llsLastStr ingCompara tor)
  1146   //                                                  .t henCompari ng(EwvServ iceLinesDr ugs::getEw vServiceLi nes;         // paren t back-lin k
  1147                                      )
  1148                                      );
  1149           }
  1150  
  1151           /* *
  1152            *  Test meth od for {@l ink gov.va .med.ewv.u til.EwvSet ToNullsLas tList#getE wvServiceL ineOhiAdjt mtsList(go v.va.med.d omain.ewv. EwvService LineOhis)} .
  1153            * /
  1154           @T est
  1155           pu blic void  testGetEwv ServiceLin eOhiAdjtmt sList() {
  1156                    test GetList_nu lls(
  1157                                      EwvServi ceLineOhis ::new,
  1158                                      EwvServi ceLineOhis ::setEwvSe rviceLineO hiAdjtmtse s,
  1159                                      EwvSetTo NullsLastL ist::getEw vServiceLi neOhiAdjtm tsList
  1160                                      );
  1161  
  1162                    test Set_GetLis t_LocalDat eString_St ring_BigDe cimal(
  1163                                      EwvServi ceLineOhis ::new,
  1164                                      EwvServi ceLineOhis ::setEwvSe rviceLineO hiAdjtmtse s,
  1165                                      EwvSetTo NullsLastL ist::getEw vServiceLi neOhiAdjtm tsList,
  1166                                      EwvServi ceLineOhiA djtmts::ne w,
  1167                                      EwvServi ceLineOhiA djtmts::se tPrimaryPa yerId,
  1168                                      EwvServi ceLineOhiA djtmts::se tSvcLineAd justmtReas onCode,
  1169                                      EwvServi ceLineOhiA djtmts::se tGuid,
  1170                                      Stream.o f(data1),
  1171                                      Comparat or.nullsLa st(Compara tor
  1172                                                       .c omparing(E wvServiceL ineOhiAdjt mts::getPr imaryPayer Id, nullsL astStringC omparator)
  1173                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etSvcLineA djustmtRea sonCode, n ullsLastSt ringCompar ator)
  1174                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etDescript ion, nulls LastString Comparator )
  1175                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etQuantity , nullsLas tStringCom parator)
  1176                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etCoAmt, n ullsLastSt ringCompar ator)
  1177                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etOaAmt, n ullsLastSt ringCompar ator)
  1178                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etPiAmt, n ullsLastSt ringCompar ator)
  1179                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etPrAmt, n ullsLastSt ringCompar ator)
  1180                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etPrAmt, n ullsLastSt ringCompar ator)
  1181                                                       .t henCompari ng(EwvServ iceLineOhi Adjtmts::g etGuid, nu llsLastBig DecimalCom parator)
  1182                                      )
  1183                                      );
  1184           }
  1185  
  1186   }