class TunerTest(unittest.TestCase): def setUp(self): self.db = Mock() self.conn = Mock() self.translator = Mock() self.domainCache = Mock() self.tuner = Tuner(4, 'mrbun', 1000, 6000, 'HDHOMERUN', self.domainCache, self.conn, self.db, self.translator) def test_toString(self): log.debug('tuner = %s'%self.tuner) self.assertFalse(self.tuner is None) def test_isWatchingOrRecording_CardIdle(self): when(self.conn).getTunerShowing('Seinfeld').thenReturn(-1) self.assertFalse(self.tuner.isWatchingOrRecording('Seinfeld')) def test_isWatchingOrRecording_CardNotIdleButShowDoesntMatch(self): when(self.conn).getTunerShowing('Seinfeld').thenReturn(-1) self.assertFalse(self.tuner.isWatchingOrRecording('Seinfeld')) def test_isWatchingOrRecording_CardNotIdleAndShowMatches(self): when(self.conn).getTunerShowing('Seinfeld').thenReturn(self.tuner.tunerId) self.assertTrue(self.tuner.isWatchingOrRecording('Seinfeld')) def test_isRecording_True(self): when(self.conn).isTunerRecording(any()).thenReturn(True) result = self.tuner.isRecording() log.debug('isRecording_True = %s'%result) self.assertTrue(result) verify(self.conn).isTunerRecording(any()) def test_isRecording_False(self): when(self.conn).isTunerRecording(any()).thenReturn(False) self.assertFalse(self.tuner.isRecording()) verify(self.conn).isTunerRecording(any()) def test_hasChannel_True(self): channels = [] for x in range(0,5): channels.append(Channel( {'chanid':x, 'channum':'%d'%x, 'callsign':'WXYZ', 'name':'NBC9', 'icon':'nbc.jpg', 'cardid':4})) when(self.domainCache).getChannels().thenReturn(channels) self.assertTrue(self.tuner.hasChannel(Channel(dict(channum='3')))) def test_hasChannel_False(self): channels = [] for x in range(0,5): channels.append(Channel( {'chanid':x, 'channum':'%d'%x, 'callsign':'WXYZ', 'name':'NBC9', 'icon':'nbc.jpg', 'cardid':4})) when(self.domainCache).getChannels().thenReturn(channels) self.assertFalse(self.tuner.hasChannel(Channel(dict(channum='6')))) def test_getChannels_CachingWorks(self): channels = [] for x in range(0,5): channels.append(Channel( {'chanid':x, 'channum':'%d'%x, 'callsign':'WXYZ', 'name':'NBC9', 'icon':'nbc.jpg', 'cardid':4})) when(self.domainCache).getChannels().thenReturn(channels) for x in range(10): channels = self.tuner.getChannels() verify(self.domainCache, 1).getChannels()