1   package com.diasparsoftware.java.util.test;
2   
3   import java.util.*;
4   
5   import junit.framework.*;
6   
7   import com.diasparsoftware.java.lang.ArrayUtil;
8   
9   public class MakeMapFromArrayTest extends TestCase {
10      private int testIndex;
11      private Object[][] array;
12      private Map expectedMap;
13  
14      public static Test suite() {
15          TestSuite suite = new TestSuite();
16  
17          Map testData = new HashMap();
18          testData.put(Collections.EMPTY_MAP, new Object[0][0]);
19          testData
20              .put(
21                  Collections.singletonMap(new Integer(762), "hello"),
22                  new Object[][] { { new Integer(762), "hello" }
23          });
24  
25          testData
26              .put(
27                  Collections.singletonMap(null, "hello"),
28                  new Object[][] { { null, "hello" }
29          });
30  
31          int testIndex = 0;
32          for (Iterator i = testData.entrySet().iterator();
33              i.hasNext();
34              ) {
35  
36              Map.Entry eachEntry = (Map.Entry) i.next();
37  
38              suite.addTest(
39                  new MakeMapFromArrayTest(
40                      testIndex,
41                      (Map) eachEntry.getKey(),
42                      (Object[][]) eachEntry.getValue()));
43  
44              testIndex++;
45          }
46  
47          return suite;
48      }
49  
50      public MakeMapFromArrayTest(
51          int testIndex,
52          Map expectedMap,
53          Object[][] array) {
54  
55          super("makeMapFromArrayTest #" + testIndex);
56          this.testIndex = testIndex;
57          this.expectedMap = expectedMap;
58          this.array = array;
59      }
60  
61      protected void runTest() throws Throwable {
62          Map actualMap = ArrayUtil.asMap(array);
63          assertEquals(expectedMap, actualMap);
64      }
65  }