def test_merge_multiple_histories(self) : entry1 = 'Read from file.' entry2 = 'Saved to file.' DBs = () n = 10 for ii in range(n) : tempDB = fits.SpecBlock(np.zeros((2,2,2))) tempDB.add_history(entry1, 'filename: ' + str(ii)) tempDB.add_history(entry2, 'saved filename not iterated') DBs = DBs + (tempDB, ) merged = fits.merge_histories(*DBs) self.assertEqual(len(merged['000: '+entry1]), n) self.assertEqual(len(merged['001: '+entry2]), 1)
def test_merge_histories(self) : # Basic tests self.data.add_history(self.hist_str, self.hist_detail) SecondDB = fits.SpecBlock(np.zeros((2,2,2))) second_details = ('second file name', ) SecondDB.add_history(self.hist_str, second_details) merged = fits.merge_histories(self.data, SecondDB) self.assertEqual(len(merged.keys()), 1) self.assertTrue(second_details[0] in merged['000: '+self.hist_str]) self.assertTrue(self.hist_detail[0] in merged['000: '+self.hist_str]) self.assertEqual(len(merged['000: '+self.hist_str]), 3) # Enforce matching. ThirdDB = fits.SpecBlock(np.zeros((2,2,2))) ThirdDB.add_history(self.hist_str, self.hist_detail) ThirdDB.add_history('Read from file.', self.hist_detail) self.assertRaises(fits.HistoryError, fits.merge_histories, SecondDB, ThirdDB)