def test_drop_restriction(self): x = np.array([(0, 1, 2), (2, 5, 6), (3, 2, 1)], dtype=[('a', np.float), ('b', np.float), ('c', np.float)]) y = {'y': np.array([1, 1, 0])} results = (x, y) prim_obj = prim.setup_prim(results, 'y', threshold=0.8) box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi) new_box_lim = np.array([(0, 1, 1), (2, 2, 6)], dtype=[('a', np.float), ('b', np.float), ('c', np.float)]) indices = np.array([0, 1], dtype=np.int) box.update(new_box_lim, indices) box.drop_restriction('b') correct_box_lims = np.array([(0, 1, 1), (2, 5, 6)], dtype=[('a', np.float), ('b', np.float), ('c', np.float)]) box_lims = box.box_lims[-1] names = recfunctions.get_names(correct_box_lims.dtype) for entry in names: lim_correct = correct_box_lims[entry] lim_box = box_lims[entry] for i in range(len(lim_correct)): self.assertEqual(lim_correct[i], lim_box[i]) self.assertEqual(box.peeling_trajectory['mean'][2], 1) self.assertEqual(box.peeling_trajectory['coverage'][2], 1) self.assertEqual(box.peeling_trajectory['density'][2], 1) self.assertEqual(box.peeling_trajectory['res dim'][2], 1) self.assertEqual(box.peeling_trajectory['mass'][2], 2 / 3)
def test_drop_restriction(self): x = np.array([(0,1,2), (2,5,6), (3,2,1)], dtype=[('a', np.float), ('b', np.float), ('c', np.float)]) y = {'y':np.array([1,1,0])} results = (x,y) prim_obj = prim.setup_prim(results, 'y', threshold=0.8) box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi) new_box_lim = np.array([(0,1,1), (2,2,6)], dtype=[('a', np.float), ('b', np.float), ('c', np.float)]) indices = np.array([0,1], dtype=np.int) box.update(new_box_lim, indices) box.drop_restriction('b') correct_box_lims = np.array([(0,1,1), (2,5,6)], dtype=[('a', np.float), ('b', np.float), ('c', np.float)]) box_lims = box.box_lims[-1] names = recfunctions.get_names(correct_box_lims.dtype) for entry in names: lim_correct = correct_box_lims[entry] lim_box = box_lims[entry] for i in range(len(lim_correct)): self.assertEqual(lim_correct[i], lim_box[i]) self.assertEqual(box.peeling_trajectory['mean'][2], 1) self.assertEqual(box.peeling_trajectory['coverage'][2], 1) self.assertEqual(box.peeling_trajectory['density'][2], 1) self.assertEqual(box.peeling_trajectory['res dim'][2], 1) self.assertEqual(box.peeling_trajectory['mass'][2], 2/3)