def test_partitioning_returns_sections(self): # pylint: disable=C0103 """ Test that partitioning level returns default amount of sections """ partitioner = GridPartitioner('crypt', 3, 3, self.rng) sections = partitioner.partition_level(self.mock_level) assert_that(sections, has_length(9))
def test_partitioned_sections_are_linked(self): # pylint: disable=C0103 """ Partitioned sections should be linked together """ partitioner = GridPartitioner('crypt', 2, 2, self.rng) sections = partitioner.partition_level(self.mock_level) assert_that(sections, has_length(4)) assert_that(sections[0].connections, has_length(greater_than(0)))
class TestGridPartitioner: """ Tests for GridPartitioner """ def __init__(self): """ Default constructor """ self.mock_level = None self.partitioner = None self.rng = None def setup(self): """ Setup tests """ self.mock_level = mock(Level) when(self.mock_level).get_size().thenReturn((20, 20)) self.rng = random.Random() self.partitioner = GridPartitioner('crypt', 2, 1, self.rng) def test_partitioning_returns_sections(self): # pylint: disable=C0103 """ Test that partitioning level returns default amount of sections """ partitioner = GridPartitioner('crypt', 3, 3, self.rng) sections = partitioner.partition_level(self.mock_level) assert_that(sections, has_length(9)) def test_sections_have_neighbours(self): """ Test that sections are marked being neighbours """ sections = self.partitioner.partition_level(self.mock_level) assert_that(sections[0].neighbours, has_length(1)) def test_partitioned_sections_are_linked(self): # pylint: disable=C0103 """ Partitioned sections should be linked together """ partitioner = GridPartitioner('crypt', 2, 2, self.rng) sections = partitioner.partition_level(self.mock_level) assert_that(sections, has_length(4)) assert_that(sections[0].connections, has_length(greater_than(0))) def test_new_sections_are_on_level(self): """ Test that created sections are linked to level """ sections = self.partitioner.partition_level(self.mock_level) for section in sections: assert_that(section.level, is_(same_instance(self.mock_level)))