def test_load_table_pickle_list(self): table_list = ['admissions', 'patients'] pre_store = PrepareData('test1', '../../data/demo_data/all') pre_store.read_tables(table_list, True) pre_load = PrepareData('test2', '../../data/demo_data/all') pre_load.load_table_pickle_list(table_list) self.assertEqual(pre_load.admissions['DIAGNOSIS'][2], 'SEPSIS', 'Not loaded multipe tables from pickle files.') self.assertEqual(pre_load.patients['SUBJECT_ID'][3], int(10017), 'Not loaded multipe tables from pickle files.')
def test_read_tables(self): pre = PrepareData('test', '../../data/demo_data/all') table_list = ['admissions', 'patients'] pre.read_tables(table_list) # Check if the two tables are loaded self.assertEqual(pre.admissions['DIAGNOSIS'][2], 'SEPSIS', 'Not read multiple tables correctly.') self.assertEqual(pre.patients['SUBJECT_ID'][3], int(10017), 'Not read multiple tables correctly.')
def test_transform(self): pre = PrepareData('test', '../../data/demo_data/all') pre.read_tables(['prescriptions', 'admissions']) drug_enc = DrugEncoderV2(48, 10) drug_enc.fit(pre.prescriptions) hadm_drug_matrix, hadm_id_mapping = drug_enc.transform( pre.prescriptions, pre.admissions) self.assertTrue( ((hadm_drug_matrix[7, :] == [0, 1, 1, 1, 0, 1, 1, 1, 1, 0]) * 1).sum(), 'Error in DrugEncoder.transform(); hadm_drug_matrix wrong') self.assertEqual( hadm_drug_matrix.shape, (len(pre.admissions), 10), 'Error in DrugEncoder.transform(); hadm_drug_matrix has wrong shape;' ) self.assertEqual(len(hadm_id_mapping), pre.admissions['HADM_ID'].unique().shape[0], 'Error in DrugEncoder.transform(); wrong shape;') self.assertEqual( drug_enc.drug_mapping, { 'FURO40I': 0, 'NS500': 1, 'NS1000': 2, 'NACLFLUSH': 3, 'INSULIN': 4, 'D5W250': 5, 'VANC1F': 6, 'VANCOBASE': 7, 'HEPA5I': 8, 'KCL20PM': 9 }, 'Error in DrugEncoder.transform(); drug_mapping is wrong')