diff options
Diffstat (limited to 'test/test_utils.py')
-rw-r--r-- | test/test_utils.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/test_utils.py b/test/test_utils.py new file mode 100644 index 0000000..1eb16c6 --- /dev/null +++ b/test/test_utils.py @@ -0,0 +1,48 @@ +from StringIO import StringIO + +from mvc import utils + +import base + +class UtilsTest(base.Test): + + def test_hms_to_seconds(self): + self.assertEqual(utils.hms_to_seconds(3, 2, 1), + 3 * 3600 + + 2 * 60 + + 1) + + def test_hms_to_seconds_floats(self): + self.assertEqual(utils.hms_to_seconds(3.0, 2.0, 1.5), + 3 * 3600 + + 2 * 60 + + 1.5) + + def test_round_even(self): + self.assertEqual(utils.round_even(-1), 0) + self.assertEqual(utils.round_even(0), 0) + self.assertEqual(utils.round_even(1), 0) + self.assertEqual(utils.round_even(2), 2) + self.assertEqual(utils.round_even(2.5), 2) + self.assertEqual(utils.round_even(3), 2) + + def test_rescale_video(self): + target = (1024, 768) + self.assertEqual(utils.rescale_video(target, target), + target) + self.assertEqual(utils.rescale_video((512, 384), target), # small + (512, 384)) + self.assertEqual(utils.rescale_video((2048, 1536), target), # big + target) + self.assertEqual(utils.rescale_video((1400, 768), target, + dont_upsize=False), # widescreen + (1024, 560)) + + def test_line_reader(self): + lines = """line1 +line2 +line3\rline4\r +line5""" + expected = ['line1', 'line2', 'line3', 'line4', 'line5'] + self.assertEqual(list(utils.line_reader(StringIO(lines))), expected) + |