2 # vim: set ts=4 sts=4 sw=4 textwidth=92 :
4 import os, sys, unittest
6 from RarslaveLogger import RarslaveLogger,RarslaveMessage,MessageType
8 class rarslavetest (unittest.TestCase):
10 def assertListEquals (self, l1, l2):
14 self.assertEquals (len(l1), len(l2))
18 self.fail ("Element missing from list")
23 self.logger = RarslaveLogger ()
28 def testGetBasenameNone (self):
29 QNAME = '[something] some names.txt'
30 ANAME = '[something] some names.txt'
32 # Tests for an exension that should not be stripped
33 self.assertEquals (ANAME, get_basename (QNAME))
35 def testGetBasenameSingle (self):
36 QNAME = '[something] some names.par2'
37 ANAME = '[something] some names'
39 self.assertEquals (ANAME, get_basename (QNAME))
41 def testGetBasenameMulti (self):
42 QNAME = '[a.f.k.] The Melancholy of Haruhi Suzumiya - 13.avi.001'
43 ANAME = '[a.f.k.] The Melancholy of Haruhi Suzumiya - 13'
45 self.assertEquals (ANAME, get_basename (QNAME))
47 def testGetBasenameMulti2 (self):
48 QNAME = '[AonE-AnY]_Ah_My_Goddess_-_Sorezore_no_Tsubasa_-_13_[WS][E6380C3F].avi.vol00+01.PAR2'
49 ANAME = '[AonE-AnY]_Ah_My_Goddess_-_Sorezore_no_Tsubasa_-_13_[WS][E6380C3F]'
51 self.assertEquals (ANAME, get_basename (QNAME))
53 def testFindLikelyFilesBadDir (self):
56 self.assertRaises (AssertionError, find_likely_files, "fake", DIR)
58 def testFindAllPar2Files (self):
61 self.assertRaises (ValueError, find_all_par2_files, DIR)
63 def testIsNewRar (self):
64 DIR = os.getcwd() + '/test_material/01/'
66 self.assertTrue (is_newrar (os.listdir (DIR)))
68 def testDeletableFiles1 (self):
69 FILES = ['test.part%d.rar' % n for n in xrange(10)]
71 self.assertListEquals (find_deleteable_files (FILES), FILES)
73 def testDeletableFiles2 (self):
74 FILESN = ['%d.mp3' % n for n in xrange(20)]
75 FILESY = ['%d.zip' % n for n in xrange(5)]
77 self.assertListEquals (find_deleteable_files (FILESN + FILESY), FILESY)
79 ### RarslaveMessage tests
83 STR2 = "Goodbye, \nCruel World"
85 self.assertEquals (STR1, RarslaveMessage (STR1).__repr__())
86 self.assertEquals (STR1, RarslaveMessage (STR1, MessageType.Normal).__repr__())
87 self.assertEquals (STR2, RarslaveMessage (STR2, MessageType.Verbose).__repr__())
88 self.assertEquals (STR2, RarslaveMessage (STR2, MessageType.Debug).__repr__())
90 def testisVerboseMessage (self):
92 STR2 = "Goodbye, \nCruel World"
94 self.assertTrue (RarslaveMessage (STR1, MessageType.Verbose).isVerbose())
95 self.assertTrue (RarslaveMessage (STR2, MessageType.Verbose).isVerbose())
96 self.assertFalse (RarslaveMessage (STR1).isVerbose())
97 self.assertFalse (RarslaveMessage (STR2, MessageType.Debug).isVerbose())
98 self.assertFalse (RarslaveMessage (STR2, MessageType.Normal).isVerbose())
101 if __name__ == '__main__':