1 package org.sapia.magnet.domain.test; 2 3 import java.io.ByteArrayInputStream ; 4 import java.util.List ; 5 6 import junit.framework.TestCase; 7 import junit.textui.TestRunner; 8 9 import org.sapia.magnet.MagnetParser; 10 import org.sapia.magnet.MagnetRenderer; 11 import org.sapia.magnet.MagnetException; 12 import org.sapia.magnet.domain.Magnet; 13 14 24 public class MagnetTest extends TestCase { 25 26 static { 27 org.apache.log4j.BasicConfigurator.configure(); 28 } 29 30 public static void main(String [] args) { 31 TestRunner.run(MagnetTest.class); 32 } 33 34 public MagnetTest(String aName) { 35 super(aName); 36 } 37 38 41 public List parseMagnets(String aString) throws MagnetException { 42 MagnetParser aParser = new MagnetParser(); 43 ByteArrayInputStream anInput = new ByteArrayInputStream (aString.getBytes()); 44 return aParser.parse(anInput); 45 } 46 47 50 public void renderMagnets(List someMagnets, String aProfile) throws MagnetException { 51 MagnetRenderer aRenderer = new MagnetRenderer(); 52 aRenderer.render(someMagnets, aProfile); 53 } 54 55 56 59 public void testInvalidMagnetNamespace() throws Exception { 60 org.apache.log4j.Level aLevel = 61 org.apache.log4j.LogManager.getRootLogger().getLevel(); 62 StringBuffer aBuffer = new StringBuffer (). 63 append("<Magnet />"); 64 try { 65 org.apache.log4j.LogManager.getRootLogger().setLevel(org.apache.log4j.Level.OFF); 66 List someMagnets = parseMagnets(aBuffer.toString()); 67 fail("Should not parse magnet without a namespace"); 68 } catch (MagnetException me) { 69 } finally { 70 org.apache.log4j.LogManager.getRootLogger().setLevel(aLevel); 71 } 72 } 73 74 75 78 public void testEmptyMagnet() throws Exception { 79 StringBuffer aBuffer = new StringBuffer (). 80 append("<Magnet xmlns=\"http://schemas.sapia-oss.org/magnet/core/\" />"); 81 82 List someMagnets = parseMagnets(aBuffer.toString()); 83 assertEquals("", 1, someMagnets.size()); 84 85 Magnet aMagnet = (Magnet) someMagnets.get(0); 86 assertNull("", aMagnet.getDescription()); 87 assertEquals("", 0, aMagnet.getElementNames().size()); 88 assertNull("", aMagnet.getExtends()); 89 assertEquals("", 0, aMagnet.getLaunchers().size()); 90 assertEquals("", 0, aMagnet.getLaunchHandlerDefs().size()); 91 assertNull("", aMagnet.getName()); 92 assertEquals("", 0, aMagnet.getParameters().size()); 93 assertEquals("", 0, aMagnet.getParents().size()); 94 assertEquals("", 0, aMagnet.getProtocolHandlerDefs().size()); 95 assertEquals("", 0, aMagnet.getScriptHandlerDefs().size()); 96 assertEquals("", 0, aMagnet.getScripts().size()); 97 98 System.out.println(aMagnet); 99 100 renderMagnets(someMagnets, null); 101 } 102 103 104 107 public void testSimpleMagnet() throws Exception { 108 StringBuffer aBuffer = new StringBuffer (). 109 append("<Magnet xmlns=\"http://schemas.sapia-oss.org/magnet/core/\" "). 110 append("name=\"testSimpleMagnet\" description=\"This is a simple description\" />"); 111 112 List someMagnets = parseMagnets(aBuffer.toString()); 113 assertEquals("", 1, someMagnets.size()); 114 115 Magnet aMagnet = (Magnet) someMagnets.get(0); 116 assertEquals("", "This is a simple description", aMagnet.getDescription()); 117 assertEquals("", 0, aMagnet.getElementNames().size()); 118 assertNull("", aMagnet.getExtends()); 119 assertEquals("", 0, aMagnet.getLaunchers().size()); 120 assertEquals("", 0, aMagnet.getLaunchHandlerDefs().size()); 121 assertEquals("", "testSimpleMagnet", aMagnet.getName()); 122 assertEquals("", 0, aMagnet.getParameters().size()); 123 assertEquals("", 0, aMagnet.getParents().size()); 124 assertEquals("", 0, aMagnet.getProtocolHandlerDefs().size()); 125 assertEquals("", 0, aMagnet.getScriptHandlerDefs().size()); 126 assertEquals("", 0, aMagnet.getScripts().size()); 127 128 System.out.println(aMagnet); 129 130 renderMagnets(someMagnets, null); 131 } 132 133 134 } 135 136 | Popular Tags |