Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
 def test_an_empty_set_produces_no_blocks(self):
     self.splitter = job.BlockSplitter(())
     self._assert_number_of_blocks_is(0)