2 # vim: set ts=4 sts=4 sw=4 textwidth=92 :
4 import os, sys, unittest
7 class rarslavetest (unittest.TestCase):
9 def assertListEquals (self, l1, l2):
13 self.assertEquals (len(l1), len(l2))
17 self.fail ("Element missing from list")
27 def testGetBasenameNone (self):
28 QNAME = '[something] some names.txt'
29 ANAME = '[something] some names.txt'
31 # Tests for an exension that should not be stripped
32 self.assertEquals (ANAME, get_basename (QNAME))
34 def testGetBasenameSingle (self):
35 QNAME = '[something] some names.par2'
36 ANAME = '[something] some names'
38 self.assertEquals (ANAME, get_basename (QNAME))
40 def testGetBasenameMulti (self):
41 QNAME = '[a.f.k.] The Melancholy of Haruhi Suzumiya - 13.avi.001'
42 ANAME = '[a.f.k.] The Melancholy of Haruhi Suzumiya - 13'
44 self.assertEquals (ANAME, get_basename (QNAME))
46 def testGetBasenameMulti2 (self):
47 QNAME = '[AonE-AnY]_Ah_My_Goddess_-_Sorezore_no_Tsubasa_-_13_[WS][E6380C3F].avi.vol00+01.PAR2'
48 ANAME = '[AonE-AnY]_Ah_My_Goddess_-_Sorezore_no_Tsubasa_-_13_[WS][E6380C3F]'
50 self.assertEquals (ANAME, get_basename (QNAME))
52 def testFindLikelyFilesBadDir (self):
55 self.assertRaises (ValueError, find_likely_files, "fake", DIR)
57 def testFindAllPar2Files (self):
60 self.assertRaises (ValueError, find_all_par2_files, DIR)
62 def testHasExtension1 (self):
63 FILE = 'some.file.part01.rar'
65 self.assertTrue (has_extension (FILE, 'rar'))
66 self.assertTrue (has_extension (FILE, '.rar'))
67 self.assertTrue (has_extension (FILE, 'part01.rar'))
68 self.assertTrue (has_extension (FILE, '.part01.rar'))
70 def testHasExtension2 (self):
71 FILE = 'some.file.part01.rar'
73 self.assertFalse (has_extension (FILE, 'zip'))
74 self.assertFalse (has_extension (FILE, '.zip'))
75 self.assertFalse (has_extension (FILE, '.part01'))
76 self.assertFalse (has_extension (FILE, 'part01'))
78 def testIsNewRar (self):
79 DIR = os.getcwd() + '/test_material/01/'
81 self.assertTrue (is_newrar (os.listdir (DIR)))
83 def testDeletableFiles1 (self):
84 FILES = ['test.part%d.rar' % n for n in xrange(10)]
86 self.assertListEquals (find_deleteable_files (FILES), FILES)
88 def testDeletableFiles2 (self):
89 FILESN = ['%d.mp3' % n for n in xrange(20)]
90 FILESY = ['%d.zip' % n for n in xrange(5)]
92 self.assertListEquals (find_deleteable_files (FILESN + FILESY), FILESY)
95 if __name__ == '__main__':