def test_extend_names(self): tc = TaxyTool() tc.add_taxonomy_set('1','a') tc.add_taxonomy_set('2','a') self.assertEquals(tc.get_handles('1'),{0,}) self.assertEquals(tc.get_handles('2'),{1,}) self.assertEquals(tc.get_names_by_handle(0),{'1', 'a',}) self.assertEquals(tc.get_names_by_handle(1),{'2', 'a',}) tc.extend_names_by_nick_name('1', 'c', 'e') tc.extend_names_by_nick_name('2', 'z', 'x') tc.extend_names_by_nick_name('1', 'd', 'f') self.assertEquals(tc.get_handles('a'),{0,1}) self.assertEquals(tc.get_handles('z'),{1,}) self.assertEquals(tc.get_handles('c'),{0,}) #Test for a name that isn't in the taxonomy self.assertEquals(tc.get_handles('b'),{-1,}) self.assertEquals(tc.get_names_by_handle(0),{'1', 'a', 'c', 'e', 'd', 'f',}) self.assertEquals(tc.get_names_by_handle(1),{'2', 'a', 'z', 'x',}) tc.extend_names_by_anyname('a', 'extend') self.assertEquals(tc.get_handles('extend'),{0,1,})
def test_build_granule_and_load_from_granule(self): #Define a taxonomy and add sets. add_taxonomy_set takes one or more names and assigns them to one handle tx = TaxyTool() tx.add_taxonomy_set('temp', 'long_temp_name') tx.add_taxonomy_set('cond', 'long_cond_name') tx.add_taxonomy_set('pres', 'long_pres_name') tx.add_taxonomy_set('rdt') # map is {<local name>: <granule name or path>} #Use RecordDictionaryTool to create a record dictionary. Send in the taxonomy so the Tool knows what to expect rdt = RecordDictionaryTool(taxonomy=tx) #Create some arrays and fill them with random values temp_array = numpy.random.standard_normal(100) cond_array = numpy.random.standard_normal(100) pres_array = numpy.random.standard_normal(100) #Use the RecordDictionaryTool to add the values. This also would work if you used long_temp_name, etc. rdt['temp'] = temp_array rdt['cond'] = cond_array rdt['pres'] = pres_array #You can also add in another RecordDictionaryTool, providing the taxonomies are the same. rdt2 = RecordDictionaryTool(taxonomy=tx) rdt2['temp'] = temp_array rdt['rdt'] = rdt2 g = build_granule(data_producer_id='john', taxonomy=tx, record_dictionary=rdt) l_tx = TaxyTool.load_from_granule(g) l_rd = RecordDictionaryTool.load_from_granule(g) # Make sure we got back the same Taxonomy Object self.assertEquals(l_tx._t, tx._t) self.assertEquals(l_tx.get_handles('temp'), tx.get_handles('temp')) self.assertEquals(l_tx.get_handles('testing_2'), tx.get_handles('testing_2')) # Now test the record dictionary object self.assertEquals(l_rd._rd, rdt._rd) self.assertEquals(l_rd._tx._t, rdt._tx._t) for k, v in l_rd.iteritems(): self.assertIn(k, rdt) if isinstance(v, numpy.ndarray): self.assertTrue( (v == rdt[k]).all()) else: self.assertEquals(v._rd, rdt[k]._rd)
def test_build_granule_and_load_from_granule(self): #Define a taxonomy and add sets. add_taxonomy_set takes one or more names and assigns them to one handle tx = TaxyTool() tx.add_taxonomy_set('temp', 'long_temp_name') tx.add_taxonomy_set('cond', 'long_cond_name') tx.add_taxonomy_set('pres', 'long_pres_name') tx.add_taxonomy_set('rdt') # map is {<local name>: <granule name or path>} #Use RecordDictionaryTool to create a record dictionary. Send in the taxonomy so the Tool knows what to expect rdt = RecordDictionaryTool(taxonomy=tx) #Create some arrays and fill them with random values temp_array = numpy.random.standard_normal(100) cond_array = numpy.random.standard_normal(100) pres_array = numpy.random.standard_normal(100) #Use the RecordDictionaryTool to add the values. This also would work if you used long_temp_name, etc. rdt['temp'] = temp_array rdt['cond'] = cond_array rdt['pres'] = pres_array #You can also add in another RecordDictionaryTool, providing the taxonomies are the same. rdt2 = RecordDictionaryTool(taxonomy=tx) rdt2['temp'] = temp_array rdt['rdt'] = rdt2 g = build_granule(data_producer_id='john', taxonomy=tx, record_dictionary=rdt) l_tx = TaxyTool.load_from_granule(g) l_rd = RecordDictionaryTool.load_from_granule(g) # Make sure we got back the same Taxonomy Object self.assertEquals(l_tx._t, tx._t) self.assertEquals(l_tx.get_handles('temp'), tx.get_handles('temp')) self.assertEquals(l_tx.get_handles('testing_2'), tx.get_handles('testing_2')) # Now test the record dictionary object self.assertEquals(l_rd._rd, rdt._rd) self.assertEquals(l_rd._tx._t, rdt._tx._t) for k, v in l_rd.iteritems(): self.assertIn(k, rdt) if isinstance(v, numpy.ndarray): self.assertTrue((v == rdt[k]).all()) else: self.assertEquals(v._rd, rdt[k]._rd)
def test_get_nick_names(self): tc = TaxyTool() tc.add_taxonomy_set('1','a') tc.add_taxonomy_set('2','a') self.assertEquals(tc.get_nick_name(0),'1') self.assertEquals(tc.get_nick_names('a'),['1', '2']) self.assertEquals(tc.get_handle('1'),0) self.assertEquals(tc.get_handles('a'),{0,1})
def test_get_nick_names(self): tc = TaxyTool() tc.add_taxonomy_set('1', 'a') tc.add_taxonomy_set('2', 'a') self.assertEquals(tc.get_nick_name(0), '1') self.assertEquals(tc.get_nick_names('a'), ['1', '2']) self.assertEquals(tc.get_handle('1'), 0) self.assertEquals(tc.get_handles('a'), {0, 1})
def test_extend_names(self): tc = TaxyTool() tc.add_taxonomy_set('1', 'a') tc.add_taxonomy_set('2', 'a') self.assertEquals(tc.get_handles('1'), { 0, }) self.assertEquals(tc.get_handles('2'), { 1, }) self.assertEquals(tc.get_names_by_handle(0), { '1', 'a', }) self.assertEquals(tc.get_names_by_handle(1), { '2', 'a', }) tc.extend_names_by_nick_name('1', 'c', 'e') tc.extend_names_by_nick_name('2', 'z', 'x') tc.extend_names_by_nick_name('1', 'd', 'f') self.assertEquals(tc.get_handles('a'), {0, 1}) self.assertEquals(tc.get_handles('z'), { 1, }) self.assertEquals(tc.get_handles('c'), { 0, }) #Test for a name that isn't in the taxonomy self.assertEquals(tc.get_handles('b'), { -1, }) self.assertEquals(tc.get_names_by_handle(0), { '1', 'a', 'c', 'e', 'd', 'f', }) self.assertEquals(tc.get_names_by_handle(1), { '2', 'a', 'z', 'x', }) tc.extend_names_by_anyname('a', 'extend') self.assertEquals(tc.get_handles('extend'), { 0, 1, })
def test_taxonomy_set(self): nick_name = 'nick_name' a = 'a' b = 'b' c = 'c' tc = TaxyTool() tc.add_taxonomy_set(nick_name=nick_name) self.assertEquals(tc.get_handles('a name'), {-1,}) self.assertRaises(KeyError,tc.get_names_by_handle,5) self.assertEquals(tc.get_names_by_handle(0), {nick_name,}) tc = TaxyTool() tc.add_taxonomy_set(a) self.assertEquals(tc.get_handle(a),0) self.assertEquals(tc.get_names_by_handle(0),{a,}) self.assertEquals(tc.get_names_by_nick_name(a),{a,}) tc = TaxyTool() tc.add_taxonomy_set(a) tc.add_taxonomy_set(b) self.assertEquals(tc.get_handle(a),0) self.assertEquals(tc.get_names_by_handle(0),{a,}) self.assertEquals(tc.get_handle(b),1) self.assertEquals(tc.get_names_by_handle(1),{b,}) tc = TaxyTool() tc.add_taxonomy_set(nick_name, a, b, c) self.assertEquals(tc.get_handle(nick_name),0) self.assertEquals(tc.get_handles(a),{0,}) self.assertEquals(tc.get_handles(b),{0,}) self.assertEquals(tc.get_handles(c),{0,}) self.assertEquals(tc.get_names_by_handle(0),{nick_name,a,b,c,}) self.assertEquals(tc.get_names_by_nick_name(nick_name),{nick_name,a,b,c,})
def test_init(self): """ test initialization of the TaxyCab """ tc = TaxyTool() self.assertRaises(KeyError, tc.get_handle, 'nick_name') self.assertRaises(KeyError,tc.get_names_by_handle, 0) tx = Taxonomy(map={1:('nick_name',{'nick_name','a'})}) tc2 = TaxyTool(taxonomy=tx) self.assertEquals(tc2._cnt,1) self.assertEquals(tc2.get_handles('a'),{1,}) self.assertEquals(tc2.get_handle('nick_name'),1) tc3 = TaxyTool(tx) self.assertEquals(tc3.get_names_by_handle(1),{'nick_name','a'})
def test_init(self): """ test initialization of the TaxyCab """ tc = TaxyTool() self.assertRaises(KeyError, tc.get_handle, 'nick_name') self.assertRaises(KeyError, tc.get_names_by_handle, 0) tx = Taxonomy(map={1: ('nick_name', {'nick_name', 'a'})}) tc2 = TaxyTool(taxonomy=tx) self.assertEquals(tc2._cnt, 1) self.assertEquals(tc2.get_handles('a'), { 1, }) self.assertEquals(tc2.get_handle('nick_name'), 1) tc3 = TaxyTool(tx) self.assertEquals(tc3.get_names_by_handle(1), {'nick_name', 'a'})
def test_taxonomy_set(self): nick_name = 'nick_name' a = 'a' b = 'b' c = 'c' tc = TaxyTool() tc.add_taxonomy_set(nick_name=nick_name) self.assertEquals(tc.get_handles('a name'), { -1, }) self.assertRaises(KeyError, tc.get_names_by_handle, 5) self.assertEquals(tc.get_names_by_handle(0), { nick_name, }) tc = TaxyTool() tc.add_taxonomy_set(a) self.assertEquals(tc.get_handle(a), 0) self.assertEquals(tc.get_names_by_handle(0), { a, }) self.assertEquals(tc.get_names_by_nick_name(a), { a, }) tc = TaxyTool() tc.add_taxonomy_set(a) tc.add_taxonomy_set(b) self.assertEquals(tc.get_handle(a), 0) self.assertEquals(tc.get_names_by_handle(0), { a, }) self.assertEquals(tc.get_handle(b), 1) self.assertEquals(tc.get_names_by_handle(1), { b, }) tc = TaxyTool() tc.add_taxonomy_set(nick_name, a, b, c) self.assertEquals(tc.get_handle(nick_name), 0) self.assertEquals(tc.get_handles(a), { 0, }) self.assertEquals(tc.get_handles(b), { 0, }) self.assertEquals(tc.get_handles(c), { 0, }) self.assertEquals(tc.get_names_by_handle(0), { nick_name, a, b, c, }) self.assertEquals(tc.get_names_by_nick_name(nick_name), { nick_name, a, b, c, })