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_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_splitting_range(self): """ Test that a line can be split into equal parts """ partitioner = GridPartitioner(['crypt'], 4, 3, random.Random()) ranges = partitioner.split_range_to_equals(10, 3) assert_that(ranges, has_length(3)) assert_that(ranges[0], is_(equal_to((0, 2)))) assert_that(ranges[1], is_(equal_to((3, 5)))) assert_that(ranges[2], is_(equal_to((6, 8))))
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)
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)))