Files
recordingprocessing/tests/libtvdatasourcetest.py

38 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
"""
Created on Thu Jul 18 23:13:15 2013
@author: shanef
"""
import unittest
from minimock import Mock
import os
import sys
parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parentdir)
import libtvdatasource
class tvdatasourceTest(unittest.TestCase):
def test_GetOutputFilenameNoIllegals(self):
result = self._dooutputfilenametest("S01", "E02", "test name", "")
self.assertEqual(result, "S01E02 - test name - SD TV_.mpg")
def test_GetOutputFilenameOneIllegals(self):
result = self._dooutputfilenametest("S01", "E02", "test name?", "?")
self.assertEqual(result, "S01E02 - test name - SD TV_.mpg")
def test_GetOutputFilenameTwoIllegals(self):
result = self._dooutputfilenametest("S01", "E02", "tes>t name?", ["?", ">"])
self.assertEqual(result, "S01E02 - test name - SD TV_.mpg")
def _dooutputfilenametest(self, season, episode, name, illegals):
settings = Mock('libsettings.Settings')
settings.illegalcharacters.mock_returns = illegals
tvdatasource = libtvdatasource.TVData(settings)
return tvdatasource.getoutputfilename(season, episode, name)
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(tvdatasourceTest)
unittest.TextTestRunner(verbosity=2).run(suite)