test/java/util/Map/Defaults.java

Print this page




 724                 }
 725             },
 726             NULL {
 727                 public String apply(String oldValue, String newValue) {
 728                     return null;
 729                 }
 730             },
 731             RESULT {
 732                 public String apply(String oldValue, String newValue) {
 733                     return VALUES[3];
 734                 }
 735             },
 736         }
 737     }
 738 
 739     @DataProvider(name = "MergeCases", parallel = true)
 740     public Iterator<Object[]> mergeCasesProvider() {
 741         Collection<Object[]> cases = new ArrayList<>();
 742 
 743         cases.addAll(makeMergeTestCases());
 744         cases.addAll(makeMergeNullValueTestCases());
 745 
 746         return cases.iterator();
 747     }
 748 
 749     static Collection<Object[]> makeMergeTestCases() {
 750         Collection<Object[]> cases = new ArrayList<>();
 751 
 752         for( Object[] mapParams : makeAllRWMaps() ) {
 753             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.ABSENT, Merging.Value.NEWVALUE, Merging.Merger.UNUSED, Merging.Value.NEWVALUE, Merging.Value.NEWVALUE });
 754         }
 755 
 756         for( Object[] mapParams : makeAllRWMaps() ) {
 757             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.OLDVALUE, Merging.Value.NEWVALUE, Merging.Merger.NULL, Merging.Value.ABSENT, Merging.Value.NULL });
 758         }
 759 
 760         for( Object[] mapParams : makeAllRWMaps() ) {
 761             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.OLDVALUE, Merging.Value.NEWVALUE, Merging.Merger.RESULT, Merging.Value.RESULT, Merging.Value.RESULT });
 762         }
 763 
 764         return cases;
 765     }
 766 
 767     static Collection<Object[]> makeMergeNullValueTestCases() {
 768         Collection<Object[]> cases = new ArrayList<>();
 769 
 770         for( Object[] mapParams : makeAllRWMapsWithNulls() ) {
 771             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.OLDVALUE, Merging.Value.NULL, Merging.Merger.NULL, Merging.Value.ABSENT, Merging.Value.NULL });
 772         }
 773 
 774         for( Object[] mapParams : makeAllRWMapsWithNulls() ) {
 775             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.OLDVALUE, Merging.Value.NULL, Merging.Merger.RESULT, Merging.Value.RESULT, Merging.Value.RESULT });
 776         }
 777 
 778         for( Object[] mapParams : makeAllRWMapsWithNulls() ) {
 779             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.ABSENT, Merging.Value.NULL, Merging.Merger.UNUSED, Merging.Value.ABSENT, Merging.Value.NULL });
 780         }
 781 
 782         for( Object[] mapParams : makeAllRWMapsWithNulls() ) {
 783             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.NULL, Merging.Value.NULL, Merging.Merger.UNUSED, Merging.Value.ABSENT, Merging.Value.NULL });
 784         }
 785 
 786         for( Object[] mapParams : makeAllRWMapsWithNulls() ) {
 787             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.NULL, Merging.Value.NEWVALUE, Merging.Merger.UNUSED, Merging.Value.NEWVALUE, Merging.Value.NEWVALUE });
 788         }
 789 
 790         return cases;
 791     }
 792 
 793     public interface Thrower<T extends Throwable> {
 794 
 795         public void run() throws T;
 796     }
 797 
 798     public static <T extends Throwable> void assertThrows(Thrower<T> thrower, Class<T> throwable) {
 799         assertThrows(thrower, throwable, null);
 800     }
 801 
 802     public static <T extends Throwable> void assertThrows(Thrower<T> thrower, Class<T> throwable, String message) {
 803         Throwable thrown;
 804         try {
 805             thrower.run();
 806             thrown = null;
 807         } catch (Throwable caught) {




 724                 }
 725             },
 726             NULL {
 727                 public String apply(String oldValue, String newValue) {
 728                     return null;
 729                 }
 730             },
 731             RESULT {
 732                 public String apply(String oldValue, String newValue) {
 733                     return VALUES[3];
 734                 }
 735             },
 736         }
 737     }
 738 
 739     @DataProvider(name = "MergeCases", parallel = true)
 740     public Iterator<Object[]> mergeCasesProvider() {
 741         Collection<Object[]> cases = new ArrayList<>();
 742 
 743         cases.addAll(makeMergeTestCases());

 744 
 745         return cases.iterator();
 746     }
 747 
 748     static Collection<Object[]> makeMergeTestCases() {
 749         Collection<Object[]> cases = new ArrayList<>();
 750 
 751         for( Object[] mapParams : makeAllRWMaps() ) {
 752             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.ABSENT, Merging.Value.NEWVALUE, Merging.Merger.UNUSED, Merging.Value.NEWVALUE, Merging.Value.NEWVALUE });
 753         }
 754 
 755         for( Object[] mapParams : makeAllRWMaps() ) {
 756             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.OLDVALUE, Merging.Value.NEWVALUE, Merging.Merger.NULL, Merging.Value.ABSENT, Merging.Value.NULL });
 757         }
 758 
 759         for( Object[] mapParams : makeAllRWMaps() ) {
 760             cases.add(new Object[] { mapParams[0], mapParams[1], Merging.Value.OLDVALUE, Merging.Value.NEWVALUE, Merging.Merger.RESULT, Merging.Value.RESULT, Merging.Value.RESULT });


























 761         }
 762 
 763         return cases;
 764     }
 765 
 766     public interface Thrower<T extends Throwable> {
 767 
 768         public void run() throws T;
 769     }
 770 
 771     public static <T extends Throwable> void assertThrows(Thrower<T> thrower, Class<T> throwable) {
 772         assertThrows(thrower, throwable, null);
 773     }
 774 
 775     public static <T extends Throwable> void assertThrows(Thrower<T> thrower, Class<T> throwable, String message) {
 776         Throwable thrown;
 777         try {
 778             thrower.run();
 779             thrown = null;
 780         } catch (Throwable caught) {