def test_list_ParamA_DoesNotCallAnyListMethod(self, client):
        cmd = ShowTrackerCmd(client)
        list_args = "a"

        cmd.do_list(list_args)

        assert not client.list_tvshows.called and not client.list_tvshows.called
    def test_rm_String1Space_CallsAddShowWithInt1(self, client):
        cmd = ShowTrackerCmd(client)
        rm_args = "1 "

        cmd.do_rm(rm_args)

        client.remove_tvshow.assert_called_once_with(1)
    def test_rm_String1SpaceS_DoesNotCallAddShow(self, client):
        cmd = ShowTrackerCmd(client)
        rm_args = "1 S"

        cmd.do_rm(rm_args)

        assert not client.remove_tvshow.called
    def test_add_String1Space_CallsAddShowWithInt1(self, client):
        cmd = ShowTrackerCmd(client)
        add_args = "1 "

        cmd.do_add(add_args)

        client.add_tvshow.assert_called_once_with(1)
    def test_add_String1SpaceS_DoesNotCallAddShow(self, client):
        cmd = ShowTrackerCmd(client)
        add_args = "1 S"

        cmd.do_add(add_args)

        assert not client.add_tvshow.called
    def test_list_ParamMinusEDownloadingSpaceA_DoesNotCallAnyListMethod(self, client):
        cmd = ShowTrackerCmd(client)
        list_args = "-e downloading a"

        cmd.do_list(list_args)

        assert not client.list_tvshows.called and not client.list_tvshows.called
    def test_list_ParamMinusMinusTvshows_CallsListTvshowsWithNoArgs(self, client):
        cmd = ShowTrackerCmd(client)
        list_args = "--tvshows"

        cmd.do_list(list_args)

        client.list_tvshows.assert_called_once_with()
    def test_list_ParamMinusEStored_CallsListEpisodesWithStored(self, client):
        cmd = ShowTrackerCmd(client)
        list_args = "-e stored"

        cmd.do_list(list_args)

        client.list_episodes.assert_called_once_with(EpisodeState.STORED)
    def test_list_ParamMinusEDownloaded_CallsListEpisodesWithDownloaded(self, client):
        cmd = ShowTrackerCmd(client)
        list_args = "-e downloaded"

        cmd.do_list(list_args)

        client.list_episodes.assert_called_once_with(EpisodeState.DOWNLOADED)
    def test_add_NoParameter_DoesNotCallAddShow(self, client):
        cmd = ShowTrackerCmd(client)
        add_args = ""

        cmd.do_add(add_args)

        assert not client.add_tvshow.called
    def test_list_ParamMinusESpaceMinusMinusEpisodes_DoesNotCallAnyListMethod(self, client):
        cmd = ShowTrackerCmd(client)
        list_args = "-e --episodes"

        cmd.do_list(list_args)

        assert not client.list_tvshows.called and not client.list_tvshows.called
    def test_list_ParamMinusE_CallsListEpisodesWithNoArgs(self, client):
        cmd = ShowTrackerCmd(client)
        list_args = "-e"

        cmd.do_list(list_args)

        client.list_episodes.assert_called_once_with(None)