def process_usb_operation(self, usb_operation): transmitter = TransmitterIndex.find_matching(usb_operation.usb_device) if transmitter: if usb_operation.operation is Operation.ADD: self.start_transmitter_application(transmitter) elif usb_operation.operation is Operation.REMOVE: self.stop_transmitter_application(transmitter)
def test_filter6(self): """Filter large Cache against many devices yields many matches""" self.cache.build(self.cache_test_directory_many_without_broken) devices = [FakeUsbDevice(i+1, i+1, i+1, i+1) for i in range(25)] bus = FakeUsbBus(devices) matching = TransmitterIndex.filter(bus, self.cache) ids = [x.usb_device.idVendor for x in matching] self.assertEqual( set(ids), set([i+1 for i in range(9)]) )
def test_filter1(self): """Filter empty Cache against many devices yields no matches""" self.cache.build(self.cache_test_directory_none) devices = [FakeUsbDevice(i+1, i+1, i+1, i+1) for i in range(0, 25)] bus = FakeUsbBus(devices) matching = TransmitterIndex.filter(bus, self.cache) ids = [x.idVendor for x in matching] self.assertEqual( set(ids), set() )
def test_filter2(self): """Filter non-empty Cache against no devices yields no matches""" self.cache.build(self.cache_test_directory_few_without_broken) devices = [ ] bus = FakeUsbBus(devices) matching = TransmitterIndex.filter(bus, self.cache) ids = [x.idVendor for x in matching] self.assertEqual( set(ids), set() )
def test_filter4(self): """Filter non-empty Cache against some devices yields one match""" self.cache.build(self.cache_test_directory_few_without_broken) devices = [ FakeUsbDevice(1, 1, 1, 1), FakeUsbDevice(4, 4, 4, 4) ] bus = FakeUsbBus(devices) matching = TransmitterIndex.filter(bus, self.cache) ids = [x.usb_device.idVendor for x in matching] self.assertEqual( set(ids), {1, 4} )
def test_filter3(self): """Filter non-empty cache against some devices yields no matches""" self.cache.build(self.cache_test_directory_few_without_broken) devices = [ FakeUsbDevice(15, 16, 2012, 4021), FakeUsbDevice(12, 19, 20123, 19421) ] bus = FakeUsbBus(devices) matching = TransmitterIndex.filter(bus, self.cache) ids = [x.idVendor for x in matching] self.assertEqual( set(ids), set() )