// Path: gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java
// public class IO
// {
//     /**
//      * Raw input stream.
//      *
//      * @see #in
//      */
//     public final InputStream inputStream;
// 
//     /**
//      * Raw output stream.
//      *
//      * @see #out
//      */
//     public final OutputStream outputStream;
// 
//     /**
//      * Raw error output stream.
//      *
//      * @see #err
//      */
//     public final OutputStream errorStream;
// 
//     /**
//      * Prefered input reader.
//      */
//     public final Reader in;
// 
//     /**
//      * Prefered output writer.
//      */
//     public final PrintWriter out;
// 
//     /**
//      * Prefered error output writer.
//      */
//     public final PrintWriter err;
// 
//     /**
//      * Construct a new IO container.
//      *
//      * @param in    The input steam; must not be null
//      * @param out   The output stream; must not be null
//      * @param err   The error output stream; must not be null
//      */
//     public IO(final InputStream in, final OutputStream out, final OutputStream err) {
//         if (in == null) {
//             throw new NullArgumentException("in");
//         }
//         if (out == null) {
//             throw new NullArgumentException("out");
//         }
//         if (err == null) {
//             throw new NullArgumentException("err");
//         }
// 
//         this.inputStream = in;
//         this.outputStream = out;
//         this.errorStream = err;
// 
//         this.in = new InputStreamReader(in);
//         this.out = new PrintWriter(out, true);
//         this.err = new PrintWriter(err, true);
//     }
// 
//     /**
//      * Construct a new IO container.
//      *
//      * @param in    The input steam; must not be null
//      * @param out   The output stream and error stream; must not be null
//      */
//     public IO(final InputStream in, final OutputStream out) {
//         this(in, out, out);
//     }
// 
//     /**
//      * Helper which uses current values from {@link System}.
//      */
//     public IO() {
//         this(System.in, System.out, System.err);
//     }
// 
//     /**
//      * Flush both output streams.
//      */
//     public void flush() {
//         out.flush();
//         err.flush();
//     }
// 
//     public void close() throws IOException {
//         in.close();
//         out.close();
//         err.close();
//     }
// }
// 
// Path: gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandNotFoundException.java
// public class CommandNotFoundException
//    extends CommandException
// {
//     ///CLOVER:OFF
//     
//     public CommandNotFoundException(final String path) {
//         this(path, "Command or path was not found");
//     }
// 
//     public CommandNotFoundException(final String path, final String msg) {
//         super(msg + ": " + path);
//     }
// }
// 
// Path: gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandException.java
// public class CommandException
//     extends Exception
// {
//     ///CLOVER:OFF
//     
//     public CommandException(String msg) {
//         super(msg);
//     }
// 
//     public CommandException(String msg, Throwable cause) {
//         super(msg, cause);
//     }
// 
//     public CommandException(Throwable cause) {
//         super(cause);
//     }
// 
//     public CommandException() {
//         super();
//     }
// }


import org.apache.geronimo.gshell.command.CommandException;
import junit.framework.TestCase;
import org.apache.geronimo.gshell.console.IO;
import org.apache.geronimo.gshell.command.CommandNotFoundException;
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package org.apache.geronimo.gshell;


/**
 * Mock {@link Shell}.
 *
 * @version $Rev$ $Date$
 */
public class MockShell
    extends Shell
{
    public Object[] args;

    public String commandName;

// Path: gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java
// public class IO
// {
//     /**
//      * Raw input stream.
//      *
//      * @see #in
//      */
//     public final InputStream inputStream;
// 
//     /**
//      * Raw output stream.
//      *
//      * @see #out
//      */
//     public final OutputStream outputStream;
// 
//     /**
//      * Raw error output stream.
//      *
//      * @see #err
//      */
//     public final OutputStream errorStream;
// 
//     /**
//      * Prefered input reader.
//      */
//     public final Reader in;
// 
//     /**
//      * Prefered output writer.
//      */
//     public final PrintWriter out;
// 
//     /**
//      * Prefered error output writer.
//      */
//     public final PrintWriter err;
// 
//     /**
//      * Construct a new IO container.
//      *
//      * @param in    The input steam; must not be null
//      * @param out   The output stream; must not be null
//      * @param err   The error output stream; must not be null
//      */
//     public IO(final InputStream in, final OutputStream out, final OutputStream err) {
//         if (in == null) {
//             throw new NullArgumentException("in");
//         }
//         if (out == null) {
//             throw new NullArgumentException("out");
//         }
//         if (err == null) {
//             throw new NullArgumentException("err");
//         }
// 
//         this.inputStream = in;
//         this.outputStream = out;
//         this.errorStream = err;
// 
//         this.in = new InputStreamReader(in);
//         this.out = new PrintWriter(out, true);
//         this.err = new PrintWriter(err, true);
//     }
// 
//     /**
//      * Construct a new IO container.
//      *
//      * @param in    The input steam; must not be null
//      * @param out   The output stream and error stream; must not be null
//      */
//     public IO(final InputStream in, final OutputStream out) {
//         this(in, out, out);
//     }
// 
//     /**
//      * Helper which uses current values from {@link System}.
//      */
//     public IO() {
//         this(System.in, System.out, System.err);
//     }
// 
//     /**
//      * Flush both output streams.
//      */
//     public void flush() {
//         out.flush();
//         err.flush();
//     }
// 
//     public void close() throws IOException {
//         in.close();
//         out.close();
//         err.close();
//     }
// }
// 
// Path: gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandNotFoundException.java
// public class CommandNotFoundException
//    extends CommandException
// {
//     ///CLOVER:OFF
//     
//     public CommandNotFoundException(final String path) {
//         this(path, "Command or path was not found");
//     }
// 
//     public CommandNotFoundException(final String path, final String msg) {
//         super(msg + ": " + path);
//     }
// }
// 
// Path: gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandException.java
// public class CommandException
//     extends Exception
// {
//     ///CLOVER:OFF
//     
//     public CommandException(String msg) {
//         super(msg);
//     }
// 
//     public CommandException(String msg, Throwable cause) {
//         super(msg, cause);
//     }
// 
//     public CommandException(Throwable cause) {
//         super(cause);
//     }
// 
//     public CommandException() {
//         super();
//     }
// }


// Path: gshell-core/src/test/java/org/apache/geronimo/gshell/MockShell.java
import org.apache.geronimo.gshell.command.CommandException;
import junit.framework.TestCase;
import org.apache.geronimo.gshell.console.IO;
import org.apache.geronimo.gshell.command.CommandNotFoundException;

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package org.apache.geronimo.gshell;


/**
 * Mock {@link Shell}.
 *
 * @version $Rev$ $Date$
 */
public class MockShell
    extends Shell
{
    public Object[] args;

    public String commandName;

    public MockShell() throws CommandException {