1+ /*
2+ * Licensed to the Apache Software Foundation (ASF) under one or more
3+ * contributor license agreements. See the NOTICE file distributed with
4+ * this work for additional information regarding copyright ownership.
5+ * The ASF licenses this file to You under the Apache License, Version 2.0
6+ * (the "License"); you may not use this file except in compliance with
7+ * the License. You may obtain a copy of the License at
8+ *
9+ * http://www.apache.org/licenses/LICENSE-2.0
10+ *
11+ * Unless required by applicable law or agreed to in writing, software
12+ * distributed under the License is distributed on an "AS IS" BASIS,
13+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+ * See the License for the specific language governing permissions and
15+ * limitations under the License.
16+ */
117package org .apache .commons .collections4 ;
218
19+ import org .apache .commons .collections4 .map .HashedMap ;
320import org .junit .Assert ;
421import org .junit .jupiter .api .Test ;
522
623import java .util .Comparator ;
724import java .util .HashMap ;
825import java .util .Map ;
26+ import java .util .LinkedHashMap ;
27+ import java .util .TreeMap ;
928
1029/**
1130 * Test Cases for Map Builder
1231 */
13- class MapBuilderTest {
32+ public class MapBuilderTest {
1433
1534 @ Test
1635 void setComparator () {
@@ -20,11 +39,9 @@ void setComparator() {
2039 myMap .put ("X" , 24 );
2140 myMap .put ("B" , 2 );
2241 myMap .put ("Y" , 26 );
23- Map <String , Integer > builderMap = new MapBuilder ().setData (myMap ).setComparator (null ).build ();
24- Assert .assertEquals (myMap , builderMap );
2542
2643 // Reverse comparator
27- builderMap = new MapBuilder ().setData (myMap ).setIterationOrder (MapBuilder .KeyOrder .COMPARATOR_ORDER ).setComparator (Comparator .reverseOrder ()).build ();
44+ Map < String , Integer > builderMap = new MapBuilder ().setData (myMap ).setIterationOrder (MapBuilder .KeyOrder .COMPARATOR_ORDER ).setComparator (Comparator .reverseOrder ()).build ();
2845 Assert .assertEquals (builderMap .keySet ().stream ().findFirst ().get (), "Y" );
2946 Assert .assertEquals (builderMap .keySet ().stream ().skip (1 ).findFirst ().get (), "X" );
3047 Assert .assertEquals (builderMap .keySet ().stream ().skip (2 ).findFirst ().get (), "B" );
@@ -40,51 +57,39 @@ void setIterationOrder() {
4057 myMap .put ("B" , 2 );
4158 myMap .put ("Y" , 26 );
4259 Map <String , Integer > builderMap = new MapBuilder ().setData (myMap ).setIterationOrder (MapBuilder .KeyOrder .UNORDERED ).build ();
43- Assert .assertEquals ( myMap , builderMap );
60+ Assert .assertTrue ( builderMap instanceof HashedMap );
4461
4562 //Key Order = INSERTION ORDER
4663 builderMap = new MapBuilder ().setIterationOrder (MapBuilder .KeyOrder .INSERTION_ORDER ).build ();
4764 builderMap .put ("A" , 1 );
4865 builderMap .put ("X" , 24 );
4966 builderMap .put ("B" , 2 );
5067 builderMap .put ("Y" , 26 );
51- Assert .assertEquals (builderMap .keySet ().stream ().findFirst ().get (), "A" );
52- Assert .assertEquals (builderMap .keySet ().stream ().skip (1 ).findFirst ().get (), "X" );
53- Assert .assertEquals (builderMap .keySet ().stream ().skip (2 ).findFirst ().get (), "B" );
54- Assert .assertEquals (builderMap .keySet ().stream ().skip (3 ).findFirst ().get (), "Y" );
68+ Assert .assertTrue (builderMap instanceof LinkedHashMap );
5569
5670 //Key Order = NATURAL ORDER
5771 builderMap = new MapBuilder ().setIterationOrder (MapBuilder .KeyOrder .NATURAL_ORDER ).build ();
5872 builderMap .put ("A" , 1 );
5973 builderMap .put ("X" , 24 );
6074 builderMap .put ("B" , 2 );
6175 builderMap .put ("Y" , 26 );
62- Assert .assertEquals (builderMap .keySet ().stream ().findFirst ().get (), "A" );
63- Assert .assertEquals (builderMap .keySet ().stream ().skip (1 ).findFirst ().get (), "B" );
64- Assert .assertEquals (builderMap .keySet ().stream ().skip (2 ).findFirst ().get (), "X" );
65- Assert .assertEquals (builderMap .keySet ().stream ().skip (3 ).findFirst ().get (), "Y" );
76+ Assert .assertTrue (builderMap instanceof TreeMap );
6677
6778 //Key Order = COMPARATOR ORDER and null comparator
6879 builderMap = new MapBuilder ().setIterationOrder (MapBuilder .KeyOrder .COMPARATOR_ORDER ).build ();
6980 builderMap .put ("A" , 1 );
7081 builderMap .put ("X" , 24 );
7182 builderMap .put ("B" , 2 );
7283 builderMap .put ("Y" , 26 );
73- Assert .assertEquals (builderMap .keySet ().stream ().findFirst ().get (), "A" );
74- Assert .assertEquals (builderMap .keySet ().stream ().skip (1 ).findFirst ().get (), "B" );
75- Assert .assertEquals (builderMap .keySet ().stream ().skip (2 ).findFirst ().get (), "X" );
76- Assert .assertEquals (builderMap .keySet ().stream ().skip (3 ).findFirst ().get (), "Y" );
84+ Assert .assertTrue (builderMap instanceof TreeMap );
7785
7886 //Key Order = COMPARATOR ORDER and valid comparator
7987 builderMap = new MapBuilder ().setIterationOrder (MapBuilder .KeyOrder .COMPARATOR_ORDER ).setComparator (Comparator .reverseOrder ()).build ();
8088 builderMap .put ("A" , 1 );
8189 builderMap .put ("X" , 24 );
8290 builderMap .put ("B" , 2 );
8391 builderMap .put ("Y" , 26 );
84- Assert .assertEquals (builderMap .keySet ().stream ().findFirst ().get (), "Y" );
85- Assert .assertEquals (builderMap .keySet ().stream ().skip (1 ).findFirst ().get (), "X" );
86- Assert .assertEquals (builderMap .keySet ().stream ().skip (2 ).findFirst ().get (), "B" );
87- Assert .assertEquals (builderMap .keySet ().stream ().skip (3 ).findFirst ().get (), "A" );
92+ Assert .assertTrue (builderMap instanceof TreeMap );
8893 }
8994
9095 @ Test
@@ -100,7 +105,6 @@ void setImmutable() {
100105 exceptionThrown = true ;
101106 }
102107 Assert .assertTrue (exceptionThrown );
103- Assert .assertEquals (myMap , builderMap );
104108 }
105109
106110 @ Test
@@ -117,4 +121,4 @@ void build() {
117121 Map <String , Integer > builderMap = new MapBuilder ().build ();
118122 Assert .assertTrue (builderMap .size () == 0 );
119123 }
120- }
124+ }
0 commit comments