/* JunitCmdLine.java --
 * Created on Apr 4, 2004
 * By cl1
 */
package ex07;

import junit.framework.TestCase;
import java.util.*;
import java.io.*;
/**
 * @author cl1
 *
 */
public class JunitCmdLine extends TestCase {
	private class MyOut extends PrintStream {
		private List inputList = new ArrayList();
		private PrintStream console = System.out;
		
		public void println(String s) {
			inputList.add(s);
		}
		
		public String[] getList() {
			return (String[])inputList.toArray(new String[inputList.size()]);
		}
		
		public MyOut(String className) {
			super(System.out, true);
			System.setOut(this);
		}
		
		public void dispose() {
			System.setOut(console);
		}
		
	}

	public void testCmdLine() {
		MyOut out = new MyOut("MyOut");
		String[] myTestString = {"this", "is", "a", "test"};
		CmdLine.main(myTestString);
		assertEquals(myTestString.length, out.getList().length);
	}
	public static void main(String[] args) {
		junit.textui.TestRunner.run(JunitCmdLine.class);
	}
	/**
	 * Constructor for JunitCmdLine.
	 * @param arg0
	 */
	public JunitCmdLine(String arg0) {
		super(arg0);
	}
}
