<gh_stars>100-1000
# -*- coding: utf-8 -*-
"""
    plan.testsuite.output
    ~~~~~~~~~~~~~~~~~~~~~

    Tests the output for Plan.

    :copyright: (c) 2014 by <NAME>.
    :license: BSD, see LICENSE for more details.
"""

import unittest

from plan.output import Output
from plan.testsuite import BaseTestCase


class OutputTestCase(BaseTestCase):

    def test_from_none(self):
        output = str(Output())
        self.assert_equal(output, '')

    def test_from_string(self):
        output = str(Output('null'))
        self.assert_equal(output, '> /dev/null 2>&1')
        output = str(Output('> /tmp/out.log 2> /tmp/error.log'))
        self.assert_equal(output, '> /tmp/out.log 2> /tmp/error.log')

    def test_from_dict(self):
        output = str(Output(dict()))
        self.assert_equal(output, '')
        output = str(Output(dict(key='value')))
        self.assert_equal(output, '> /dev/null 2>&1')
        output = str(Output(dict(stdout='/dev/null', stderr='/dev/null')))
        self.assert_equal(output, '> /dev/null 2>&1')
        output = str(Output(dict(stdout=None, stderr=None)))
        self.assert_equal(output, '')
        output = str(Output(dict(stdout='/tmp/test_out.log', stderr=None)))
        self.assert_equal(output, '>> /tmp/test_out.log')
        output = str(Output(dict(stdout='', stderr='/tmp/test_error.log')))
        self.assert_equal(output, '2>> /tmp/test_error.log')
        output = str(Output(dict(stdout='/t/out.log', stderr='/t/err.log')))
        self.assert_equal(output, '>> /t/out.log 2>> /t/err.log')

    def test_from_illegal(self):
        output = Output(1)
        self.assert_raises(TypeError, output.__str__)


def suite():
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(OutputTestCase))
    return suite

# -*- coding: utf-8 -*-
"""
    plan.testsuite.output
    ~~~~~~~~~~~~~~~~~~~~~

    Tests the output for Plan.

    :copyright: (c) 2014 by <NAME>.
    :license: BSD, see LICENSE for more details.
"""

import unittest

from plan.output import Output
from plan.testsuite import BaseTestCase


class OutputTestCase(BaseTestCase):

    def test_from_none(self):
        output = str(Output())
        self.assert_equal(output, '')

    def test_from_string(self):
        output = str(Output('null'))
        self.assert_equal(output, '> /dev/null 2>&1')
        output = str(Output('> /tmp/out.log 2> /tmp/error.log'))
        self.assert_equal(output, '> /tmp/out.log 2> /tmp/error.log')

    def test_from_dict(self):
        output = str(Output(dict()))
        self.assert_equal(output, '')
        output = str(Output(dict(key='value')))
        self.assert_equal(output, '> /dev/null 2>&1')
        output = str(Output(dict(stdout='/dev/null', stderr='/dev/null')))
        self.assert_equal(output, '> /dev/null 2>&1')
        output = str(Output(dict(stdout=None, stderr=None)))
        self.assert_equal(output, '')
        output = str(Output(dict(stdout='/tmp/test_out.log', stderr=None)))
        self.assert_equal(output, '>> /tmp/test_out.log')
        output = str(Output(dict(stdout='', stderr='/tmp/test_error.log')))
        self.assert_equal(output, '2>> /tmp/test_error.log')
        output = str(Output(dict(stdout='/t/out.log', stderr='/t/err.log')))
        self.assert_equal(output, '>> /t/out.log 2>> /t/err.log')

    def test_from_illegal(self):
        output = Output(1)
        self.assert_raises(TypeError, output.__str__)


def suite():
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(OutputTestCase))
    return suite
# -*- coding: utf-8 -*- plan.testsuite.output     ~~~~~~~~~~~~~~~~~~~~~      Tests the output for Plan.      :copyright: (c) 2014 by <NAME>.     :license: BSD, see LICENSE for more details.