Ejemplo n.º 1
0
    def test_grow_exogenous_regions_queen(self):
        """Number of regions is exogenous, aka given (Wqueen)"""
        am = AreaManager(self.Wqueen, self.Y)

        for regions in xrange(1, max_num_regions):
            rm = RegionMaker(am, pRegions=regions)
            self.assertEqual(regions, len(rm.region2Area))
            self.assertTrue(am.checkFeasibility(rm.returnRegions()))
Ejemplo n.º 2
0
    def test_grow_exogenous_regions_queen(self):
        """Number of regions is exogenous, aka given (Wqueen)"""
        am = AreaManager(self.Wqueen, self.Y)

        for regions in xrange(1, max_num_regions):
            rm = RegionMaker(am, pRegions=regions)
            self.assertEqual(regions, len(rm.region2Area))
            self.assertTrue(am.checkFeasibility(rm.returnRegions()))
Ejemplo n.º 3
0
 def test_impossible_solution_configuration_on_rook(self):
     """
     Using the Wrook, test for a impossible region assignment.
     """
     """
     Possible solution:
     0011
     0101
     """
     possible_solution = [0, 0, 1, 1, 0, 1, 0, 1]
     am = AreaManager(self.Wrook, self.Y)
     result = am.checkFeasibility(possible_solution)
     self.assertFalse(result)
Ejemplo n.º 4
0
 def test_possible_solution_configuration_on_rook(self):
     """
     Using the Wrook, test for a possible region assignment
     """
     """
     Possible solution:
     0112
     0002
     """
     possible_solution = [0, 1, 1, 2, 0, 0, 0, 2]
     am = AreaManager(self.Wrook, self.Y)
     result = am.checkFeasibility(possible_solution)
     self.assertTrue(result)
Ejemplo n.º 5
0
 def test_impossible_solution_configuration_on_queen(self):
     """
     Using the Wqueen, test for an impossible region assignment
     """
     """
     Impossible solution:
     0110
     1010
     """
     possible_solution = [0, 1, 1, 0, 1, 0, 1, 0]
     am = AreaManager(self.Wqueen, self.Y)
     result = am.checkFeasibility(possible_solution)
     self.assertFalse(result)
Ejemplo n.º 6
0
    def test_randomness_on_same_process(self):
        """This tests that running multiple instances of the region maker
        on the same script (process) will """
        am = AreaManager(self.Wrook, self.Y)
        regions = []
        for _reg in xrange(1, max_num_regions):
            rm = RegionMaker(am, pRegions=max_num_regions)
            self.assertEqual(max_num_regions, len(rm.region2Area))
            self.assertTrue(am.checkFeasibility(rm.returnRegions()))
            regions.append(rm.returnRegions())

        for regioni in xrange(len(regions) - 1):
            for regionj in xrange(regioni + 1, len(regions)):
                self.assertNotEqual(regions[regioni], regions[regionj])
Ejemplo n.º 7
0
    def test_randomness_on_same_process(self):
        """This tests that running multiple instances of the region maker
        on the same script (process) will """
        am = AreaManager(self.Wrook, self.Y)
        regions = []
        for _reg in xrange(1, max_num_regions):
            rm = RegionMaker(am, pRegions=max_num_regions)
            self.assertEqual(max_num_regions, len(rm.region2Area))
            self.assertTrue(am.checkFeasibility(rm.returnRegions()))
            regions.append(rm.returnRegions())

        for regioni in xrange(len(regions) - 1):
            for regionj in xrange(regioni + 1, len(regions)):
                self.assertNotEqual(regions[regioni], regions[regionj])
Ejemplo n.º 8
0
 def test_possible_solution_configuration_on_rook_w_empty_region(self):
     """
     Using the Wrook, test for a impossible region assignment where one
     area is missing.
     """
     """
     Possible solution:
     0022
     0202
     """
     possible_solution = [0, 0, 2, 2, 0, 2, 0, 2]
     am = AreaManager(self.Wrook, self.Y)
     result = am.checkFeasibility(possible_solution)
     self.assertFalse(result)
Ejemplo n.º 9
0
 def test_possible_solution_configuration_on_rook_w_one_region(self):
     """
     Using the Wrook, test for a possible region assignment where only
     one region exists.
     """
     """
     Possible solution:
     0000
     0000
     """
     possible_solution = [0, 0, 0, 0, 0, 0, 0, 0]
     am = AreaManager(self.Wrook, self.Y)
     result = am.checkFeasibility(possible_solution)
     self.assertTrue(result)
Ejemplo n.º 10
0
def _final_regions_are_contiguous_in_instance(instance):
    exp_name = instance.fieldNames[-1]
    clustering_results = instance.outputCluster[exp_name]
    final_region_assignment = clustering_results['r2a']
    am = AreaManager(instance.Wrook, instance.Y)
    return am.checkFeasibility(final_region_assignment)
Ejemplo n.º 11
0
def _final_regions_are_contiguous_in_instance(instance):
    exp_name = instance.fieldNames[-1]
    clustering_results = instance.outputCluster[exp_name]
    final_region_assignment = clustering_results['r2a']
    am = AreaManager(instance.Wrook, instance.Y)
    return am.checkFeasibility(final_region_assignment)