def test_remove_efm_duplicates_V_shape(self): V = np.array([[1, 2, -1, -1], [2, 4, -2, 0], [-1, -2, 1, 2]]) efm_id2i = {0: 0, 1: 1, 2: 2, 3: 3} efm_duplicates = get_efm_duplicates(V, efm_id2i) V_new, new_efm_id2i, efm_id2gr_id = remove_efm_duplicates(V, efm_duplicates, efm_id2i) self.assertTupleEqual((3, 3), V_new.shape, 'Was supposed to get 3x3 V, got %s' % [str(it) for it in V_new.shape])
def test_remove_efm_duplicates_V_content(self): V = np.array([[1, 2, -1, -1], [2, 4, -2, 0], [-1, -2, 1, 2]]) efm_id2i = {0: 0, 1: 1, 2: 2, 3: 3} efm_duplicates = get_efm_duplicates(V, efm_id2i) V_new, new_efm_id2i, efm_id2gr_id = remove_efm_duplicates(V, efm_duplicates, efm_id2i) new_efm_index = new_efm_id2i[efm_id2gr_id[0]] r1_c = V_new[0, new_efm_index] r2_c = V_new[1, new_efm_index] ratio = r2_c / r1_c self.assertEqual(2, ratio, 'Was supposed to get 2 as a ratio between the coefficients of r1 and r2 in the grouped EFMs, got %g' % ratio)