def test_get_config_from_config_idempotence(self): default_c = DataMemorySet.get_default_config() self.assertEqual( DataMemorySet.from_config(default_c).get_config(), default_c) c = DataMemorySet.get_default_config() c['cache_element']['type'] = 'DataMemoryElement' c['cache_element']['DataMemoryElement']['readonly'] = True c['pickle_protocol'] = 1 self.assertEqual(DataMemorySet.from_config(c).get_config(), c)
def test_get_config_from_config_idempotence(self): default_c = DataMemorySet.get_default_config() self.assertEqual( DataMemorySet.from_config(default_c).get_config(), default_c) dme_key = 'smqtk.representation.data_element.memory_element.DataMemoryElement' c = DataMemorySet.get_default_config() c['cache_element']['type'] = dme_key c['cache_element'][dme_key]['readonly'] = True c['pickle_protocol'] = 1 self.assertEqual(DataMemorySet.from_config(c).get_config(), c)
def test_get_config_from_config_idempotence(self): default_c = DataMemorySet.get_default_config() self.assertEqual( DataMemorySet.from_config(default_c).get_config(), default_c ) c = DataMemorySet.get_default_config() c['cache_element']['type'] = 'DataMemoryElement' c['cache_element']['DataMemoryElement']['readonly'] = True c['pickle_protocol'] = 1 self.assertEqual( DataMemorySet.from_config(c).get_config(), c )
def test_default_config(self): default_config = DataMemorySet.get_default_config() self.assertEqual(len(default_config), 2) self.assertIn('cache_element', default_config) self.assertIsInstance(default_config['cache_element'], dict) self.assertIsNone(default_config['cache_element']['type']) self.assertIn('pickle_protocol', default_config)
def test_default_config(self): default_config = DataMemorySet.get_default_config() ntools.assert_equal(len(default_config), 2) ntools.assert_in('cache_element', default_config) ntools.assert_is_instance(default_config['cache_element'], dict) ntools.assert_is_none(default_config['cache_element']['type']) ntools.assert_in('pickle_protocol', default_config)
def test_from_config_default(self): # From default configuration, which should be valid. Specifies no cache # pickle protocol -1. c = DataMemorySet.get_default_config() i = DataMemorySet.from_config(c) self.assertIsNone(i.cache_element) self.assertEqual(i.pickle_protocol, -1) self.assertEqual(i._element_map, {})
def test_from_config_empty_cache(self): # Specify a memory element cache with no pre-existing bytes. c = DataMemorySet.get_default_config() c['cache_element']['type'] = 'DataMemoryElement' i = DataMemorySet.from_config(c) self.assertIsNotNone(i.cache_element) self.assertIsInstance(i.cache_element, DataMemoryElement) self.assertEqual(i.cache_element.get_bytes(), six.b('')) self.assertEqual(i.pickle_protocol, -1) self.assertEqual(i._element_map, {})
def test_from_config_empty_cache(self): # Specify a memory element cache with no pre-existing bytes. c = DataMemorySet.get_default_config() c['cache_element']['type'] = 'DataMemoryElement' i = DataMemorySet.from_config(c) ntools.assert_is_not_none(i.cache_element) ntools.assert_is_instance(i.cache_element, DataMemoryElement) ntools.assert_equal(i.cache_element.get_bytes(), '') ntools.assert_equal(i.pickle_protocol, -1) ntools.assert_equal(i._element_map, {})
def test_configuration(self): default_config = DataMemorySet.get_default_config() ntools.assert_equal(default_config, {}) inst1 = DataMemorySet.from_config(default_config) # idempotency ntools.assert_equal(default_config, inst1.get_config()) inst2 = DataMemorySet.from_config(inst1.get_config()) ntools.assert_equal(inst1, inst2)
def test_configuration(self): default_config = DataMemorySet.get_default_config() expected_config = {"file_cache": None} ntools.assert_equal(default_config, expected_config) inst1 = DataMemorySet.from_config(default_config) # idempotency ntools.assert_equal(default_config, inst1.get_config()) inst2 = DataMemorySet.from_config(inst1.get_config()) ntools.assert_equal(inst1, inst2)
def test_from_config_with_cache(self): # Use a cache element with bytes defining pickle of map to use. expected_map = dict(a=1, b=2, c=3) c = DataMemorySet.get_default_config() c['cache_element']['type'] = 'DataMemoryElement' c['cache_element']['DataMemoryElement']['bytes'] = \ pickle.dumps(expected_map) i = DataMemorySet.from_config(c) self.assertIsInstance(i.cache_element, DataMemoryElement) self.assertEqual(i.pickle_protocol, -1) self.assertEqual(i._element_map, expected_map)
def test_from_config_with_cache(self): # Use a cache element with content defining pickle of map to use. expected_map = dict(a=1, b=2, c=3) dme_key = 'smqtk.representation.data_element.memory_element.DataMemoryElement' c = DataMemorySet.get_default_config() c['cache_element']['type'] = dme_key c['cache_element'][dme_key]['bytes'] = \ pickle.dumps(expected_map).decode(BYTES_CONFIG_ENCODING) i = DataMemorySet.from_config(c) self.assertIsInstance(i.cache_element, DataMemoryElement) self.assertEqual(i.pickle_protocol, -1) self.assertEqual(i._element_map, expected_map)