def test_image_filename_backward_compatible(self): c = cache.Cache('foo') self.assertEqual( c._image_filename_backward_compatible('plate1', (0, 42)), 'foo/plate1/0-42.npy') self.assertEqual( c._image_filename_backward_compatible('plate1', (42, )), 'foo/plate1/42.npy')
def test_create_cache_features(self, plate_map, make_progress_bar): cache_dir = tempfile.mkdtemp() c = cache.Cache(cache_dir) plate_map.__get__ = Mock(return_value={(0, 42): 'p1', (1, 23): 'p2'}) make_progress_bar.return_value = lambda x: x c._create_cache_image = Mock() c._create_cache_features(False) calls = c._create_cache_image.call_args_list assert len(calls) == 2 assert call('p1', (0, 42), False) in calls assert call('p2', (1, 23), False) in calls
def test_colnames(self): with tempfile.NamedTemporaryFile(suffix='.txt') as file: with open(file.name, 'w') as f: print >> f, 'foo' print >> f, 'bar' print >> f, 'baz' c = cache.Cache('foo') c._colnames_filename = file.name self.assertEqual(c._cached_colnames, None) self.assertEqual(c.colnames, ['foo', 'bar', 'baz']) self.assertEqual(c._cached_colnames, ['foo', 'bar', 'baz']) self.assertEqual(c.colnames, ['foo', 'bar', 'baz'])
def test_plate_map(self): c = cache.Cache('foo') original = dict(foo=42) with tempfile.NamedTemporaryFile(suffix='.pickle') as file: cpa.util.pickle(file.name, original) c._plate_map_filename = file.name self.assertEqual(c._cached_plate_map, None) first = c._plate_map self.assertFalse(first is original) self.assertEqual(first, original) self.assertTrue(c._cached_plate_map is first) self.assertTrue(c._plate_map is first)
def test_create_cache_plate_map(self, image_key_columns, execute, pickle, init): image_key_columns = ('TableNumber', 'ImageNumber') execute.return_value = [['p1', 1, 42], ['p2', 0, 11], ['p1', 3, 14]] init.return_value = None c = cache.Cache('my_cache_dir') c._plate_map_filename = sentinel.plate_map_filename c._create_cache_plate_map(False) pickle.assert_called_once_with(sentinel.plate_map_filename, { (1, 42): 'p1', (0, 11): 'p2', (3, 14): 'p1' })
def test_image_filename(self): c = cache.Cache('foo') self.assertEqual(c._image_filename('plate1', (0, 42)), 'foo/plate1/0-42.npz') self.assertEqual(c._image_filename('plate1', (42, )), 'foo/plate1/42.npz')
def test_init(self): c = cache.Cache('foo') self.assertEqual(c.cache_dir, 'foo') self.assertEqual(c._plate_map_filename, 'foo/image_to_plate.pickle') self.assertEqual(c._colnames_filename, 'foo/colnames.txt')