<?php
/**
 * Part of Windwalker project Test files.
 *
 * @copyright  Copyright (C) 2014 - 2015 LYRASOFT Taiwan, Inc. All rights reserved.
 * @license    GNU Lesser General Public License version 3 or later.
 */

namespace Windwalker\IO\Test\Cli;

use Windwalker\IO\Cli\IO;

/**
 * Test class of IO
 *
 * @since 2.0
 */
class IOTest extends \PHPUnit_Framework_TestCase
{
	/**
	 * Test instance.
	 *
	 * @var IO
	 */
	protected $instance;

	/**
	 * Sets up the fixture, for example, opens a network connection.
	 * This method is called before a test is executed.
	 *
	 * @return void
	 */
	protected function setUp()
	{
		$this->instance = new IO;
	}

	/**
	 * Tears down the fixture, for example, closes a network connection.
	 * This method is called after a test is executed.
	 *
	 * @return void
	 */
	protected function tearDown()
	{
	}

	/**
	 * Method to test out().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::out
	 * @TODO   Implement testOut().
	 */
	public function testOut()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test in().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::in
	 * @TODO   Implement testIn().
	 */
	public function testIn()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test err().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::err
	 * @TODO   Implement testErr().
	 */
	public function testErr()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test getOption().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::getOption
	 * @TODO   Implement testGetOption().
	 */
	public function testGetOption()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test setOption().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::setOption
	 * @TODO   Implement testSetOption().
	 */
	public function testSetOption()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test getArgument().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::getArgument
	 * @TODO   Implement testGetArgument().
	 */
	public function testGetArgument()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test setArgument().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::setArgument
	 * @TODO   Implement testSetArgument().
	 */
	public function testSetArgument()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test getInput().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::getInput
	 * @TODO   Implement testGetInput().
	 */
	public function testGetInput()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test setInput().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::setInput
	 * @TODO   Implement testSetInput().
	 */
	public function testSetInput()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test getOutput().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::getOutput
	 * @TODO   Implement testGetOutput().
	 */
	public function testGetOutput()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test setOutput().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::setOutput
	 * @TODO   Implement testSetOutput().
	 */
	public function testSetOutput()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test getCalledScript().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::getCalledScript
	 * @TODO   Implement testGetCalledScript().
	 */
	public function testGetCalledScript()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test getOptions().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::getOptions
	 * @TODO   Implement testGetOptions().
	 */
	public function testGetOptions()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test getArguments().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::getArguments
	 * @TODO   Implement testGetArguments().
	 */
	public function testGetArguments()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test offsetSet().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::offsetSet
	 * @TODO   Implement testOffsetSet().
	 */
	public function testOffsetSet()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test offsetUnset().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::offsetUnset
	 * @TODO   Implement testOffsetUnset().
	 */
	public function testOffsetUnset()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test offsetExists().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::offsetExists
	 * @TODO   Implement testOffsetExists().
	 */
	public function testOffsetExists()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test offsetGet().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::offsetGet
	 * @TODO   Implement testOffsetGet().
	 */
	public function testOffsetGet()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test getIterator().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::getIterator
	 * @TODO   Implement testGetIterator().
	 */
	public function testGetIterator()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test serialize().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::serialize
	 * @TODO   Implement testSerialize().
	 */
	public function testSerialize()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test unserialize().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::unserialize
	 * @TODO   Implement testUnserialize().
	 */
	public function testUnserialize()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test count().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::count
	 * @TODO   Implement testCount().
	 */
	public function testCount()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}

	/**
	 * Method to test jsonSerialize().
	 *
	 * @return void
	 *
	 * @covers Windwalker\IO\Cli\IO::jsonSerialize
	 * @TODO   Implement testJsonSerialize().
	 */
	public function testJsonSerialize()
	{
		// Remove the following lines when you implement this test.
		$this->markTestIncomplete(
			'This test has not been implemented yet.'
		);
	}
}
