Beispiel #1
0
    def test_05_fill(self):

        pass_configs = [
            {
                'series':
                ['emu', 'duck', 'crocodile', 'shark', 'tiger', 'worm'],
                'index': 12,
                'want_coords': (1, 4)
            },
            {
                'series': range(30, 50, 2),
                'index': 21,
                'want_coords': (4, 0)
            },
        ]
        for config in pass_configs:
            with self.subTest(config=config):
                series, index, want_coords = config.values()
                m = SpiralMatrix(5)
                m.series = (list(series) * 5)[:m.max]
                new_index = m._fill(want_coords, index)
                self.assertIsInstance(new_index, int)
                self.assertEqual(new_index, index + 1)
                self.assertEqual(m.series[index],
                                 m.matrix[want_coords[0]][want_coords[1]])
Beispiel #2
0
    def test_01_series_from_integers(self):

        pass_configs = [
            {
                'dimension': 5,
                'start': 1,
                'step': 1,
                'want_0_0_value': 17
            },
            {
                'dimension': 5,
                'start': 1000,
                'step': 2,
                'want_0_0_value': 1032
            },
            {
                'dimension': 5,
                'start': -100,
                'step': 3,
                'want_0_0_value': -52
            },
        ]
        for config in pass_configs:
            with self.subTest(config=config):
                dimension, start, step, want_0_0_value = config.values()
                m = SpiralMatrix(dimension)
                m.series = m._series_from_integers(start, step)
                self.assertIsInstance(m.series, range)
                self.assertEqual(len(m.series), m.max)
                m._build()
                self.assertEqual(m.matrix[0][0], want_0_0_value)
Beispiel #3
0
    def test_02_series_from_string(self):

        pass_configs = [
            {
                'dimension': 5,
                'words': 'vulture duck crocodile elephant tiger',
                'want_0_0_value': 'duck'
            },
            {
                'dimension': 5,
                'words': '10 4 2 45 31 8.88 22 -7 0 94',
                'want_0_0_value': '22'
            },
            {
                'dimension': 5,
                'words': '~ @#$ ) ( !*% +!',
                'want_0_0_value': '!*%'
            },
        ]
        for config in pass_configs:
            with self.subTest(config=config):
                dimension, words, want_0_0_value = config.values()
                m = SpiralMatrix(dimension)
                m.series = m._series_from_string(words)
                self.assertIsInstance(m.series, list)
                self.assertEqual(len(m.series), m.max)
                m._build()
                self.assertEqual(m.matrix[0][0], want_0_0_value)