Clover coverage report -
Coverage timestamp: Wed Jan 31 2007 15:38:53 EST
file stats: LOC: 134   Methods: 4
NCLOC: 114   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
MapCopyTest.java - 87.5% 100% 88.3%
coverage coverage
 1    package org.jboss.cache.util;
 2   
 3    import junit.framework.TestCase;
 4   
 5    import java.io.ByteArrayInputStream;
 6    import java.io.ByteArrayOutputStream;
 7    import java.io.ObjectInputStream;
 8    import java.io.ObjectOutputStream;
 9    import java.util.HashMap;
 10    import java.util.Map;
 11   
 12    public class MapCopyTest extends TestCase
 13    {
 14   
 15  1 public void testSerializable() throws Exception
 16    {
 17  1 HashMap hm = new HashMap();
 18  1 hm.put(null, null);
 19  1 hm.put("y", "z");
 20  1 MapCopy mc = new MapCopy(hm);
 21  1 assertEquals(hm, mc);
 22  1 ByteArrayOutputStream os = new ByteArrayOutputStream();
 23  1 ObjectOutputStream oos = new ObjectOutputStream(os);
 24  1 oos.writeObject(mc);
 25  1 ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
 26  1 ObjectInputStream ois = new ObjectInputStream(is);
 27  1 Object o = ois.readObject();
 28  1 assertEquals(hm, o);
 29    }
 30   
 31  1 public void testNull()
 32    {
 33  1 HashMap hm = new HashMap();
 34  1 hm.put(null, null);
 35  1 MapCopy mc = new MapCopy(hm);
 36  1 assertEquals(hm, mc);
 37  1 assertEquals(hm.toString(), mc.toString());
 38   
 39  1 hm.put(null, "x");
 40  1 hm.put("y", null);
 41  1 mc = new MapCopy(hm);
 42  1 mc.toString();
 43  1 assertEquals(true, mc.containsKey("y"));
 44    }
 45   
 46  1 public void testAll()
 47    {
 48  1 HashMap hm = new HashMap();
 49  1 hm.put("a", "b");
 50  1 hm.put("b", "c");
 51  1 MapCopy mc = new MapCopy(hm);
 52  1 assertEquals(hm, mc);
 53  1 assertEquals(hm.size(), mc.size());
 54  1 try
 55    {
 56  1 mc.clear();
 57  0 fail("read only");
 58    }
 59    catch (UnsupportedOperationException e)
 60    {
 61    }
 62  1 HashMap bhm = new HashMap(hm);
 63  1 hm.put("b", "d");
 64  1 assertEquals(bhm, mc);
 65  1 Map.Entry me = (Map.Entry) mc.entrySet().iterator().next();
 66  1 try
 67    {
 68  1 me.setValue("arg");
 69  0 fail("read only");
 70    }
 71    catch (UnsupportedOperationException e)
 72    {
 73    }
 74    }
 75   
 76  1 public void testModifications()
 77    {
 78  1 Map hm = new HashMap();
 79  1 hm.put("a", "b");
 80  1 Map mc = new MapCopy(hm);
 81   
 82  1 try
 83    {
 84  1 mc.put("x", "y");
 85  0 fail("should fail");
 86    }
 87    catch (UnsupportedOperationException uoe)
 88    {
 89    // ok
 90    }
 91   
 92  1 try
 93    {
 94  1 mc.remove("a");
 95  0 fail("should fail");
 96    }
 97    catch (UnsupportedOperationException uoe)
 98    {
 99    // ok
 100    }
 101   
 102  1 try
 103    {
 104  1 mc.keySet().iterator().remove();
 105  0 fail("should fail");
 106    }
 107    catch (UnsupportedOperationException uoe)
 108    {
 109    // ok
 110    }
 111   
 112  1 try
 113    {
 114  1 mc.entrySet().iterator().remove();
 115  0 fail("should fail");
 116    }
 117    catch (UnsupportedOperationException uoe)
 118    {
 119    // ok
 120    }
 121   
 122  1 try
 123    {
 124  1 mc.values().iterator().remove();
 125  0 fail("should fail");
 126    }
 127    catch (UnsupportedOperationException uoe)
 128    {
 129    // ok
 130    }
 131   
 132   
 133    }
 134    }