1 package org.incava.jagol; 2 3 import java.io.*; 4 import java.util.*; 5 import junit.framework.TestCase; 6 7 8 public class TestListOption extends TestCase 9 { 10 ListOption opt = new ListOption("listopt", "this is the description of listopt"); 11 12 public TestListOption(String name) 13 { 14 super(name); 15 } 16 17 public void testDefault() 18 { 19 assertEquals("listopt", opt.getLongName()); 20 assertEquals("this is the description of listopt", opt.getDescription()); 21 22 assertEquals("default value", (new ArrayList()), opt.getValue()); 23 } 24 25 public void testShortName() 26 { 27 opt.setShortName('d'); 28 assertEquals('d', opt.getShortName()); 29 } 30 31 public void testSetListValue() 32 { 33 List v = new ArrayList(); 34 v.add("dimmu"); 35 v.add("callendish"); 36 v.add("charon"); 37 38 opt.setValue(v); 39 List values = opt.getValue(); 40 assertNotNull("list", values); 41 assertEquals("list size", 3, values.size()); 42 assertEquals("option value", v.get(0), values.get(0)); 43 assertEquals("option value", v.get(1), values.get(1)); 44 assertEquals("option value", v.get(2), values.get(2)); 45 } 46 47 public void testSetFromArgsListEqual() 48 { 49 List args = new ArrayList(); 50 try { 51 boolean processed = opt.set("--listopt=fee,fi,fo,fum", args); 52 assertEquals("option processed", true, processed); 53 List values = opt.getValue(); 54 assertEquals("list size", 4, values.size()); 55 assertEquals("option value", "fee", values.get(0)); 56 assertEquals("option value", "fi", values.get(1)); 57 assertEquals("option value", "fo", values.get(2)); 58 assertEquals("option value", "fum", values.get(3)); 59 assertEquals("argument removed from list", 0, args.size()); 60 } 61 catch (OptionException ite) { 62 fail("failure is not an option"); 63 } 64 } 65 66 public void testSetFromArgsListSeparateList() 67 { 68 List args = new ArrayList(); 69 args.add("closing\nwinds"); 70 try { 71 boolean processed = opt.set("--listopt", args); 72 assertEquals("option processed", true, processed); 73 List values = opt.getValue(); 74 assertEquals("list size", 2, values.size()); 75 assertEquals("option value", "closing", values.get(0)); 76 assertEquals("option value", "winds", values.get(1)); 77 assertEquals("argument removed from list", 0, args.size()); 78 } 79 catch (OptionException ite) { 80 fail("failure is not an option"); 81 } 82 } 83 84 public void testSetFromLongerArgsListEqual() 85 { 86 List args = new ArrayList(); 87 args.add("--anotheropt"); 88 try { 89 boolean processed = opt.set("--listopt=ord", args); 90 assertEquals("option processed", true, processed); 91 List values = opt.getValue(); 92 assertEquals("list size", 1, values.size()); 93 assertEquals("option value", "ord", values.get(0)); 94 assertEquals("argument removed from list", 1, args.size()); 95 } 96 catch (OptionException ite) { 97 fail("failure is not an option"); 98 } 99 } 100 101 public void testSetFromLongerArgsListSeparateList() 102 { 103 List args = new ArrayList(); 104 args.add("\"red blue\tgreen\""); 105 args.add("--anotheropt"); 106 try { 107 boolean processed = opt.set("--listopt", args); 108 assertEquals("option processed", true, processed); 109 List values = opt.getValue(); 110 assertEquals("list size", 3, values.size()); 111 assertEquals("option value", "red", values.get(0)); 112 assertEquals("option value", "blue", values.get(1)); 113 assertEquals("option value", "green", values.get(2)); 114 assertEquals("argument removed from list", 1, args.size()); 115 } 116 catch (OptionException ite) { 117 fail("failure is not an option"); 118 } 119 } 120 121 public void testSetInvalidValueDanglingEquals() 122 { 123 List args = new ArrayList(); 124 args.add("--anotheropt"); 125 try { 126 boolean processed = opt.set("--listopt=", args); 127 fail("exception expected"); 128 } 129 catch (OptionException ite) { 130 } 131 } 132 133 } 134 | Popular Tags |