class documentation

class TestMOArchiving4obj(unittest.TestCase):

View In Hierarchy

Tests for the MOArchive4obj class

Method test_add test if the add_points function works correctly for 4obj points
Method test_contributing_hypervolume test the contributing_hypervolume function, by comparing it to the 3obj result
Method test_distance_to_hypervolume_area test the distance_to_hypervolume_area function
Method test_distance_to_pareto_front test the distance_to_pareto_front function, by randomly sampling points and computing the distance to the selected point
Method test_distance_to_pareto_front_compare_2obj test the distance_to_pareto_front function, by comparing it to the 2obj pareto front
Method test_distance_to_pareto_front_compare_3obj test the distance_to_pareto_front function, by comparing it to the 3obj pareto front
Method test_dominates test the dominates function
Method test_dominators test the dominators function
Method test_hypervolume test the hypervolume calculation, by comparing to the result of original implementation in C
Method test_hypervolume_after_add test if the hypervolume is calculated correctly after adding points
Method test_hypervolume_easy test the hypervolume calculation for a 'simple' case
Method test_hypervolume_improvement test the hypervolume_improvement function, by comparing it to the 3obj result
Method test_hypervolume_plus test the hypervolume_plus indicator
Method test_in_domain test if the in_domain function works correctly for 3obj points
Method test_infos_dominated test if the infos about dominated points are removed
Method test_infos_non_dominated test if the infos are stored correctly - if the points are non dominated, the infos should be the same
Method test_length Test that the length of the archive is correct after adding and removing points
Method test_remove Test the remove function, by comparing the archive with 100 non-dominated points added and then 50 removed, to the one with only the other 50 points added
def test_add(self):

test if the add_points function works correctly for 4obj points

def test_contributing_hypervolume(self):

test the contributing_hypervolume function, by comparing it to the 3obj result

def test_distance_to_hypervolume_area(self):

test the distance_to_hypervolume_area function

def test_distance_to_pareto_front(self):

test the distance_to_pareto_front function, by randomly sampling points and computing the distance to the selected point

def test_distance_to_pareto_front_compare_2obj(self):

test the distance_to_pareto_front function, by comparing it to the 2obj pareto front

def test_distance_to_pareto_front_compare_3obj(self):

test the distance_to_pareto_front function, by comparing it to the 3obj pareto front

def test_dominates(self):

test the dominates function

def test_dominators(self):

test the dominators function

def test_hypervolume(self):

test the hypervolume calculation, by comparing to the result of original implementation in C

def test_hypervolume_after_add(self):

test if the hypervolume is calculated correctly after adding points

def test_hypervolume_easy(self):

test the hypervolume calculation for a 'simple' case

def test_hypervolume_improvement(self):

test the hypervolume_improvement function, by comparing it to the 3obj result

def test_hypervolume_plus(self):

test the hypervolume_plus indicator

def test_in_domain(self):

test if the in_domain function works correctly for 3obj points

def test_infos_dominated(self):

test if the infos about dominated points are removed

def test_infos_non_dominated(self):

test if the infos are stored correctly - if the points are non dominated, the infos should be the same

def test_length(self):

Test that the length of the archive is correct after adding and removing points

def test_remove(self, n_points=100, n_points_remove=50):

Test the remove function, by comparing the archive with 100 non-dominated points added and then 50 removed, to the one with only the other 50 points added