def test_generates_the_correct_blocks(self): self.splitter = job.BlockSplitter((SITE, SITE, SITE), 3) expected_blocks = (job.Block((SITE, SITE, SITE)), ) self._assert_blocks_are(expected_blocks) self.splitter = job.BlockSplitter((SITE, SITE, SITE), 2) expected_blocks = (job.Block((SITE, SITE)), job.Block((SITE, ))) self._assert_blocks_are(expected_blocks)
def test_splits_the_set_into_a_single_block(self): self.splitter = job.BlockSplitter((SITE, ), 3) self._assert_number_of_blocks_is(1) self.splitter = job.BlockSplitter((SITE, SITE), 3) self._assert_number_of_blocks_is(1) self.splitter = job.BlockSplitter((SITE, SITE, SITE), 3) self._assert_number_of_blocks_is(1)
def test_splitting_with_region_intersection(self): region_constraint = shapes.RegionConstraint.from_simple((0.0, 0.0), (2.0, 2.0)) sites = (shapes.Site(1.0, 1.0), shapes.Site(1.5, 1.5), shapes.Site(2.0, 2.0), shapes.Site(3.0, 3.0)) expected_blocks = (job.Block( (shapes.Site(1.0, 1.0), shapes.Site(1.5, 1.5))), job.Block((shapes.Site(2.0, 2.0), ))) self.splitter = job.BlockSplitter(sites, 2, constraint=region_constraint) self._assert_blocks_are(expected_blocks)
def test_splits_the_set_into_multiple_blocks(self): self.splitter = job.BlockSplitter((SITE, SITE), 1) self._assert_number_of_blocks_is(2) self.splitter = job.BlockSplitter((SITE, SITE, SITE), 2) self._assert_number_of_blocks_is(2)
def test_an_empty_set_produces_no_blocks(self): self.splitter = job.BlockSplitter(()) self._assert_number_of_blocks_is(0)