def test_2d_filter2(self): pf = ParetoFilter() x = [1,1,2,2,2,3,3,3,] y = [2,3,1,2,3,1,2,3] cases = [] for x_0,y_0 in zip(x,y): cases.append(Case(outputs=[("x",x_0),("y",y_0)])) pf.case_sets = [ListCaseIterator(cases),] pf.criteria = ['x','y'] pf.execute() x_p,y_p = zip(*[(case['x'],case['y']) for case in pf.pareto_set])
def test_1d_filter(self): pf = ParetoFilter() x = [1,2,3,4,5,6,7,8,9,10] cases = [Case(outputs=[("x",x_0)]) for x_0 in x] pf.case_sets = [ListCaseIterator(cases),] pf.criteria = ['x'] pf.execute() x_p = [case['x'] for case in pf.pareto_set] x_dom = [case['x'] for case in pf.dominated_set] self.assertEqual([1],x_p) self.assertEqual([2,3,4,5,6,7,8,9,10],x_dom)
def test_bad_case_set(self): pf = ParetoFilter() x = [1,1,2,2,2,3,3,3,] y = [2,3,1,2,3,1,2,3] cases = [] for x_0,y_0 in zip(x,y): cases.append(Case(outputs=[("x",x_0),("y",y_0)])) pf.case_sets = [ListCaseIterator(cases),] pf.criteria = ['z','w'] try: pf.execute() except ValueError,err: self.assertEqual(str(err),": no cases provided had all of the outputs " "matching the provided criteria, ['z', 'w']")
def test_2d_filter2(self): pf = ParetoFilter() x = [1,1,2,2,2,3,3,3,] y = [2,3,1,2,3,1,2,3] cases = [] for x_0,y_0 in zip(x,y): cases.append(Case(outputs=[("x",x_0),("y",y_0)])) pf.case_sets = [ListCaseIterator(cases),] pf.criteria = ['x','y'] pf.execute() x_p,y_p = zip(*[(case['x'],case['y']) for case in pf.pareto_set]) x_dom,y_dom = zip(*[(case['x'],case['y']) for case in pf.dominated_set]) self.assertEqual((1,2),x_p) self.assertEqual((2,1),y_p) self.assertEqual((1, 2, 2, 3, 3, 3),x_dom) self.assertEqual((3, 2, 3, 1, 2, 3),y_dom)