2424
2525import java .util .Arrays ;
2626import java .util .Collection ;
27+ import java .util .HashMap ;
2728import java .util .HashSet ;
2829import java .util .List ;
30+ import java .util .Map ;
2931import java .util .Set ;
3032
3133import org .apache .commons .collections4 .multimap .ArrayListValuedHashMap ;
@@ -119,7 +121,7 @@ void testGetValuesAsSet() {
119121 }
120122
121123 @ Test
122- void testInvert () {
124+ void testInvertMultiValuedMap () {
123125 final HashSetValuedHashMap <String , String > usages = new HashSetValuedHashMap <>();
124126
125127 final LinkedHashSetValuedLinkedHashMap <String , String > deps = new LinkedHashSetValuedLinkedHashMap <>();
@@ -142,6 +144,30 @@ void testInvert() {
142144 assertEquals ("[commons-collections, commons-configuration2]" , codecUsagesAll .toString ());
143145 }
144146
147+ @ Test
148+ void testInvertMap () {
149+ final HashSetValuedHashMap <String , String > usages = new HashSetValuedHashMap <>();
150+
151+ final Map <String , String > deps = new HashMap <>();
152+ deps .put ("commons-configuration1" , "commons-logging" );
153+ deps .put ("commons-configuration2" , "commons-lang3" );
154+ deps .put ("commons-configuration3" , "commons-text" );
155+ deps .put ("commons-beanutils1" , "commons-collections" );
156+ deps .put ("commons-beanutils2" , "commons-logging" );
157+ MultiMapUtils .invert (deps , usages );
158+ final Set <String > loggingUsagesCompile = usages .get ("commons-logging" );
159+ assertEquals ("[commons-beanutils2, commons-configuration1]" , loggingUsagesCompile .toString ());
160+ final Set <String > codecUsagesCompile = usages .get ("commons-codec" );
161+ assertEquals ("[]" , codecUsagesCompile .toString ());
162+
163+ final Map <String , String > optionalDeps = new HashMap <>();
164+ optionalDeps .put ("commons-configuration2" , "commons-codec" );
165+ optionalDeps .put ("commons-collections" , "commons-codec" );
166+ MultiMapUtils .invert (optionalDeps , usages );
167+ final Set <String > codecUsagesAll = usages .get ("commons-codec" );
168+ assertEquals ("[commons-collections, commons-configuration2]" , codecUsagesAll .toString ());
169+ }
170+
145171 @ Test
146172 void testIsEmptyWithEmptyMap () {
147173 assertTrue (MultiMapUtils .isEmpty (new ArrayListValuedHashMap <>()));
0 commit comments