class TestFileSequenceCheckerExcludePattern(unittest.TestCase):
    ''' test cases for the exclude pattern facility. '''
    
    def setUp(self):
        self.fsc = FileSequenceChecker()
        self.result = {
            DIRS['reverse']: 
            [{
              'fileext': u'.png', 
              'seqnum': u'12', 
              'order': 'reverse', 
              'filename2': u'v', 
              'filename': u'_Write'
            }, {
              'fileext': u'.png', 
              'seqnum': u'15', 
              'order': 'reverse', 
              'filename2': u'v', 
              'filename': u'_Write'
            }]
        }
        
    def testExcludePatternMatches(self):
        ''' test setexcludepattern() '''
        self.fsc.setexcludepattern(ur'Write30')
        self.fsc._prepare_dir_contents(DIRS['reverse'])
        self.assertEqual(self.fsc._dircontents, self.result)
        # now set exclude pattern to something else 
        # and ensure we do not match our expected result
        self.fsc.setexcludepattern(ur'Write60')
        self.fsc._prepare_dir_contents(DIRS['reverse'])
        self.assertNotEqual(self.fsc._dircontents, self.result)