05_nacrtovanje_poti

This commit is contained in:
Gašper Dobrovoljc
2023-11-16 16:18:51 +01:00
parent 39771d36ce
commit 1cfcb7328b
9 changed files with 310 additions and 44 deletions

View File

View File

@@ -1,9 +1,5 @@
def dolzina_ovir(vrstica):
count = 0
for char in vrstica:
if char == "#":
count += 1
return count
return vrstica.count("#")
def stevilo_ovir(vrstica):
count = 0

View File

@@ -1,5 +1,7 @@
from .naloga import *
import unittest
from naloga import *
class Test(unittest.TestCase):
def test_dolzina_ovir(self):
@@ -52,7 +54,10 @@ class Test(unittest.TestCase):
"...###",
"###.##",
]
self.assertEqual([(3, 4, 2), (2, 3, 3), (5, 5, 3), (4, 6, 4), (1, 3, 5), (5, 6, 5)], pretvori_zemljevid(zemljevid))
self.assertEqual(
[(3, 4, 2), (2, 3, 3), (5, 5, 3), (4, 6, 4), (1, 3, 5), (5, 6, 5)],
pretvori_zemljevid(zemljevid),
)
zemljevid = [
"..............##...",
@@ -60,13 +65,25 @@ class Test(unittest.TestCase):
"...###...###...#...",
"...........#.....##",
"...................",
"###.....#####...###"
"###.....#####...###",
]
self.assertEqual([(15, 16, 1),
(3, 5, 2), (11, 13, 2), (18, 19, 2),
(4, 6, 3), (10, 12, 3), (16, 16, 3),
(12, 12, 4), (18, 19, 4),
(1, 3, 6), (9, 13, 6), (17, 19, 6)], pretvori_zemljevid(zemljevid))
self.assertEqual(
[
(15, 16, 1),
(3, 5, 2),
(11, 13, 2),
(18, 19, 2),
(4, 6, 3),
(10, 12, 3),
(16, 16, 3),
(12, 12, 4),
(18, 19, 4),
(1, 3, 6),
(9, 13, 6),
(17, 19, 6),
],
pretvori_zemljevid(zemljevid),
)
def test_izboljsave(self):
prej = [
@@ -75,7 +92,7 @@ class Test(unittest.TestCase):
"...###...###...#...",
"...........#.....##",
"...................",
"###.....#####...###"
"###.....#####...###",
]
potem = [
@@ -84,10 +101,12 @@ class Test(unittest.TestCase):
"#..###...###...#...",
"...###.....#.....##",
"................###",
"###.....#####...###"
"###.....#####...###",
]
self.assertEqual([(4, 5, 1), (1, 1, 3), (4, 6, 4), (17, 19, 5)], izboljsave(prej, potem))
self.assertEqual(
[(4, 5, 1), (1, 1, 3), (4, 6, 4), (17, 19, 5)], izboljsave(prej, potem)
)
self.assertEqual([], izboljsave(prej, prej))
@@ -98,7 +117,7 @@ class Test(unittest.TestCase):
"...###...###...#...",
"...........#.....##",
"...................",
"###.....#####...###"
"###.....#####...###",
]
potem = [
@@ -107,16 +126,30 @@ class Test(unittest.TestCase):
"#..###...###...#...",
"...###.....#.....##",
"................###",
"###.....##.##...###"
"###.....##.##...###",
]
dodane, odstranjene = huligani(prej, potem)
self.assertEqual([(4, 5, 1), (1, 1, 3), (4, 6, 4), (17, 19, 5), (9, 10, 6), (12, 13, 6)], dodane, "Napaka v seznamu dodanih")
self.assertEqual([(15, 16, 1), (3, 5, 2), (9, 13, 6)], odstranjene, "Napaka v seznamu odstranjenih")
self.assertEqual(
[(4, 5, 1), (1, 1, 3), (4, 6, 4), (17, 19, 5), (9, 10, 6), (12, 13, 6)],
dodane,
"Napaka v seznamu dodanih",
)
self.assertEqual(
[(15, 16, 1), (3, 5, 2), (9, 13, 6)],
odstranjene,
"Napaka v seznamu odstranjenih",
)
dodane, odstranjene = huligani(potem, prej) # Pazi, obrnjeno!
self.assertEqual([(15, 16, 1), (3, 5, 2), (9, 13, 6)], dodane, "Napaka v seznamu dodanih")
self.assertEqual([(4, 5, 1), (1, 1, 3), (4, 6, 4), (17, 19, 5), (9, 10, 6), (12, 13, 6)], odstranjene, "Napaka v seznamu odstranjenih")
self.assertEqual(
[(15, 16, 1), (3, 5, 2), (9, 13, 6)], dodane, "Napaka v seznamu dodanih"
)
self.assertEqual(
[(4, 5, 1), (1, 1, 3), (4, 6, 4), (17, 19, 5), (9, 10, 6), (12, 13, 6)],
odstranjene,
"Napaka v seznamu odstranjenih",
)
self.assertEqual(([], []), huligani(prej, prej))