コード例 #1
0
    def test4d_duplicate(self):
        hv = hypervolume([[1, 1, 1, 1], [1, 1, 1, 1]])
        self.assertEqual(
            hv.compute(r=(2, 2, 2, 2), algorithm=hv_algorithm.hv4d()), 1)
        self.assertEqual(
            hv.compute(r=(2, 2, 2, 2), algorithm=hv_algorithm.fpl()), 1)

        # Duplicate and dominated
        hv = hypervolume([[1, 1, 1, 1], [1, 1, 1, 1], [0, 0, 0, 0]])
        self.assertEqual(
            hv.compute(r=(2, 2, 2, 2), algorithm=hv_algorithm.hv4d()), 16)
        self.assertEqual(
            hv.compute(r=(2, 2, 2, 2), algorithm=hv_algorithm.fpl()), 16)
コード例 #2
0
    def test4d_duplicate(self):
        hv = hypervolume([[1, 1, 1, 1], [1, 1, 1, 1]])
        self.assertEqual(
            hv.compute(r=(2, 2, 2, 2), algorithm=hv_algorithm.hv4d()), 1)
        self.assertEqual(
            hv.compute(r=(2, 2, 2, 2), algorithm=hv_algorithm.fpl()), 1)

        # Duplicate and dominated
        hv = hypervolume([[1, 1, 1, 1], [1, 1, 1, 1], [0, 0, 0, 0]])
        self.assertEqual(
            hv.compute(r=(2, 2, 2, 2), algorithm=hv_algorithm.hv4d()), 16)
        self.assertEqual(
            hv.compute(r=(2, 2, 2, 2), algorithm=hv_algorithm.fpl()), 16)
コード例 #3
0
    def test_hv4d(self):
        hv3d = hypervolume(self.ps3d_0)
        hv4d = hypervolume(self.ps4d_0)

        self.assertEqual(
            1.0, hv4d.compute(self.r4d_0, algorithm=hv_algorithm.hv4d()))
        self.assertRaises(ValueError,
                          hv3d.compute,
                          r=self.r3d_0,
                          algorithm=hv_algorithm.hv4d())
        self.assertRaises(ValueError,
                          hv3d.compute,
                          r=self.r4d_0,
                          algorithm=hv_algorithm.hv4d())
        self.assertRaises(ValueError,
                          hv4d.compute,
                          r=self.r3d_0,
                          algorithm=hv_algorithm.hv4d())
コード例 #4
0
    def test_hv4d(self):
        hv3d = hypervolume(self.ps3d_0)
        hv4d = hypervolume(self.ps4d_0)

        self.assertEqual(
            1.0, hv4d.compute(self.r4d_0, algorithm=hv_algorithm.hv4d()))
        self.assertRaises(
            ValueError,
            hv3d.compute,
            r=self.r3d_0,
            algorithm=hv_algorithm.hv4d())
        self.assertRaises(
            ValueError,
            hv3d.compute,
            r=self.r4d_0,
            algorithm=hv_algorithm.hv4d())
        self.assertRaises(
            ValueError,
            hv4d.compute,
            r=self.r3d_0,
            algorithm=hv_algorithm.hv4d())
コード例 #5
0
 def test4d_dominated(self):
     hv = hypervolume([[1, 1, 1, 1], [2, 2, 2, 2]])
     self.assertEqual(
         hv.compute(r=(3, 3, 3, 3), algorithm=hv_algorithm.hv4d()), 16)
     self.assertEqual(
         hv.compute(r=(3, 3, 3, 3), algorithm=hv_algorithm.fpl()), 16)
コード例 #6
0
 def test4d_edge(self):
     hv = hypervolume([[1, 1, 1, 3], [2, 2, 2, 3]])
     self.assertEqual(
         hv.compute(r=(3, 3, 3, 3), algorithm=hv_algorithm.hv4d()), 0)
     self.assertEqual(
         hv.compute(r=(3, 3, 3, 3), algorithm=hv_algorithm.fpl()), 0)
コード例 #7
0
 def test4d_edge(self):
     hv = hypervolume([[1, 1, 1, 3], [2, 2, 2, 3]])
     self.assertEqual(
         hv.compute(r=(3, 3, 3, 3), algorithm=hv_algorithm.hv4d()), 0)
     self.assertEqual(
         hv.compute(r=(3, 3, 3, 3), algorithm=hv_algorithm.fpl()), 0)
コード例 #8
0
 def test4d_dominated(self):
     hv = hypervolume([[1, 1, 1, 1], [2, 2, 2, 2]])
     self.assertEqual(
         hv.compute(r=(3, 3, 3, 3), algorithm=hv_algorithm.hv4d()), 16)
     self.assertEqual(
         hv.compute(r=(3, 3, 3, 3), algorithm=hv_algorithm.fpl()), 16)