import edu.neu.ccs.demeterf.lib.*; /** A quick test of the new "imperative" demfgen.lib.List Methods */ public class ListMapTest extends ListTest{ java.util.Random r = new java.util.Random(); public static void main(String[] args){ new ListMapTest().main(); } void main(){ if(true){ Map<Integer,String> m = Map.create(List.create(1,3,2,4,2), List.create("one","three","two","four","toooo")); Map<Integer,String> m2 = Map.create(List.create(1,2,3,4,2), List.create("one","two","three","four","toooo")); p("Map: "+m); p("Map: "+m.transformValues(new List.Map<String, String>(){ public String map(String s){ return ":"+s; } }).toString()); p(" Equals: "+m.equals(m2)); p(" List: "+m.toList()); p(" List: "+m2.toList()); p(" HashCode: "+m.hashCode()+" == "+m2.hashCode()); p(" Get: "+m2.get(2)); p(" Put: "+m2.put(2, "temp")); p(" Put: "+m2.put(10, "temp")); p(" Remap: "+m2.remap(2, "temp")); p(""); } if(true){ ListMap<Integer,String> m = ListMap.create(List.create(1,3,2,4,2), List.create("one","three","two","four","toooo")); ListMap<Integer,String> m2 = ListMap.create(List.create(1,2,3,4,2), List.create("one","two","three","four","toooo")); p("ListMap: "+m); p("ListMap: "+m.transformValues(new List.Map<String, String>(){ public String map(String s){ return ":"+s; } }).toString()); p(" Equals: "+m.equals(m2)); p(" List: "+m.toList()); p(" List: "+m2.toList()); p(" HashCode: "+m.hashCode()+" == "+m2.hashCode()); p(" Get: "+m2.get(2)); p(" Put: "+m2.put(2, "temp")); p(" Put: "+m2.put(10, "temp")); p(" Remap: "+m2.remap(2, "temp")); p(""); } if(true){ ListSet<Integer> s1 = ListSet.create(1,3,5,3,7,5,4,9); ListSet<Integer> s2 = ListSet.create(1,4,3,9,5); p(" 1: "+s1); p(" 2: "+s2); p(" ==: "+s2.equals(s1)); p(" ==: "+s1.equals(s2)); p(" ==: "+s2.intersect(s1).equals(s2)); p(" Hash: "+s1.hashCode()); p(" Hash: "+s2.hashCode()); p(" Union: "+s1.union(s2)); p(" Inter: "+s1.intersect(s2)); p(" Diff: "+s1.difference(s2)); p(""); } } }