Skip to content

Commit 046e081

Browse files
committed
adds some tests for the file naming functions
1 parent f28859c commit 046e081

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed

setup.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ def readme():
1919
'python-dateutil == 1.5',
2020
'PyYAML==3.11',
2121
],
22+
test_suite='tests.get_tests',
23+
tests_require=[
24+
'unittest2==0.8.0',
25+
'attrdict==0.5.1',
26+
],
2227
entry_points={
2328
'console_scripts': ['flickr_download=flickr_download.flick_download:main'],
2429
},

tests/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import os.path
2+
import unittest2
3+
4+
5+
def get_tests():
6+
start_dir = os.path.dirname(__file__)
7+
return unittest2.TestLoader().discover(start_dir, pattern="*.py")

tests/filename_handlers.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import unittest
2+
3+
from attrdict import AttrDict
4+
5+
from flickr_download.filename_handlers import get_filename_handler
6+
7+
8+
class TestFilenameHandlers(unittest.TestCase):
9+
def setUp(self):
10+
self._pset = AttrDict({'title': 'Some Set', 'id': 999})
11+
self._photo = AttrDict({'title': 'Some Photo', 'id': 123})
12+
self._suffix = ""
13+
14+
def test_title(self):
15+
fn = get_filename_handler('title')
16+
self.assertEqual(fn(self._pset, self._photo, self._suffix),
17+
'Some Photo.jpg')
18+
19+
def test_title_and_id(self):
20+
fn = get_filename_handler('title_and_id')
21+
self.assertEqual(fn(self._pset, self._photo, self._suffix),
22+
'Some Photo-123.jpg')
23+
24+
def test_id(self):
25+
fn = get_filename_handler('id')
26+
self.assertEqual(fn(self._pset, self._photo, self._suffix),
27+
'123.jpg')
28+
29+
def test_title_increment(self):
30+
fn = get_filename_handler('title_increment')
31+
# Ensure increment on same title
32+
self.assertEqual(fn(self._pset, self._photo, self._suffix),
33+
'Some Photo.jpg')
34+
self.assertEqual(fn(self._pset, self._photo, self._suffix),
35+
'Some Photo(1).jpg')
36+
37+
# Ensure no increment on different title
38+
photo2 = AttrDict({'title': 'Some Other Photo', 'id': 124})
39+
self.assertEqual(fn(self._pset, photo2, self._suffix),
40+
'Some Other Photo.jpg')
41+
42+
# Ensure no increment on same title, but different set
43+
pset2 = AttrDict({'title': 'Some Other Set', 'id': 1000})
44+
self.assertEqual(fn(pset2, self._photo, self._suffix),
45+
'Some Photo.jpg')
46+
47+
if __name__ == '__main__':
48+
unittest.main()

0 commit comments

Comments
 (0)