Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import unittest
- import os
- import zipfile
- import time
- tockee={1:100, 2:80, 3:60, 4:50, 5:45, 6:40, 7:36, 8:32, 9:29, 10:26, 11:24, 12:22, 13:20, 14:18, 15:16, 16:15, 17:14,
- 18:13, 19:12, 20:11, 21:10, 22:9, 23:8, 24:7, 25:6, 26:5, 27:4, 28:3,29:2, 30:1}
- def tocke(n):
- return tockee[n]
- def pristej(disciplina, vrstni_red):
- counter = 0
- for i in vrstni_red:
- counter+=1
- if i in disciplina:
- disciplina[i] += tockee[counter]
- else:disciplina[i] = tockee[counter]
- return disciplina
- def prvih_n(disciplina, n):
- s = []
- for i,j in disciplina.items():
- e = [j,i]
- f = tuple(e)
- s.append(f)
- s.sort(reverse=True)
- return s[:n]
- def razvrstitev(casi):
- s = list(casi)
- prazen = []
- for i in s:
- prazen.append(i)
- prazen.sort()
- counter = 0
- for i,j in prazen:
- counter += 1
- i = counter
- return prazen
- class TestSmucanje(unittest.TestCase):
- @classmethod
- def setUpClass(cls):
- base, ext = os.path.splitext(os.path.basename(__file__))
- zf = zipfile.ZipFile(__file__ + ".zip", "a", zipfile.ZIP_DEFLATED)
- zf.write(__file__, "{}.{}{}".format(base, int(time.time()), ext))
- zf.close()
- def test_tocke(self):
- [self.assertEqual(tocke(i + 1), t,
- "Napaka: %i. mesto prinaša %i točk" % (i + 1, t))
- for i, t in enumerate([100, 80, 60, 50, 45, 40, 36, 32, 29, 26, 24,
- 22, 20, 18, 16, 15, 14, 13, 12, 11, 10, 9, 8,
- 7, 6, 5, 4, 3, 2, 1])]
- def test_pristej(self):
- smuk = {}
- pristej(smuk, ["Ana", "Berta", "Cilka"])
- self.assertEqual(smuk, {"Ana": 100, "Berta": 80, "Cilka": 60})
- pristej(smuk, ["Berta", "Cilka", "Dani", "Ema", "Fanči", "Greta"])
- self.assertEqual(smuk, {"Ana": 100, "Berta": 180, "Cilka": 140,
- "Dani": 60, "Ema": 50, "Fanči": 45, "Greta": 40})
- pristej(smuk, ["Cilka"])
- self.assertEqual(smuk, {"Ana": 100, "Berta": 180, "Cilka": 240,
- "Dani": 60, "Ema": 50, "Fanči": 45, "Greta": 40})
- pristej(smuk, [])
- self.assertEqual(smuk, {"Ana": 100, "Berta": 180, "Cilka": 240,
- "Dani": 60, "Ema": 50, "Fanči": 45, "Greta": 40})
- pristej(smuk, ["Helga"])
- self.assertEqual(smuk, {"Ana": 100, "Berta": 180, "Cilka": 240,
- "Dani": 60, "Ema": 50, "Fanči": 45, "Greta": 40,
- "Helga": 100})
- def test_prvih_n(self):
- smuk = {"Cilka": 240, "Berta": 180, "Ana": 100, "Dani": 60, "Ema": 50,
- "Fanči": 45, "Greta": 40}
- self.assertEqual(prvih_n(smuk, 3),
- [(240, "Cilka"), (180, "Berta"), (100, "Ana")])
- self.assertEqual(prvih_n(smuk, 2), [(240, "Cilka"), (180, "Berta")])
- self.assertEqual(prvih_n(smuk, 1), [(240, "Cilka")])
- self.assertEqual(prvih_n(smuk, 6), [
- (240, "Cilka"), (180, "Berta"), (100, "Ana"), (60, "Dani"),
- (50, "Ema"), (45, "Fanči")])
- def test_razvrstitev(self):
- self.assertEqual(
- razvrstitev([(13, "A"), (8, "B"), (15, "C"), (10, "D"), (12, "E")]),
- [(1, "B"), (2, "D"), (3, "E"), (4, "A"), (5, "C")])
- self.assertEqual(
- razvrstitev([(13, "A"), (8, "B"), (15, "C"), (10, "D"), (8, "E")]),
- [(1, "B"), (1, "E"), (3, "D"), (4, "A"), (5, "C")])
- self.assertEqual(razvrstitev([(13, "A")]), [(1, "A")])
- self.assertEqual(
- razvrstitev([(13, "A"), (13, "B"), (13, "C"), (15, "D")]),
- [(1, "A"), (1, "B"), (1, "C"), (4, "D")])
- self.assertEqual(
- razvrstitev([(13, "A"), (13, "B"), (13, "C"), (10, "D")]),
- [(1, "D"), (2, "A"), (2, "B"), (2, "C")])
- self.assertEqual(
- razvrstitev([(13, "A"), (13, "B"), (13, "C"), (10, "D"), (15, "E")]),
- [(1, "D"), (2, "A"), (2, "B"), (2, "C"), (5, "E")])
- self.assertEqual(
- razvrstitev([(13, "A"), (13, "B"), (13, "C"), (10, "D"), (10, "E"),
- (17, "F")]),
- [(1, "D"), (1, "E"), (3, "A"), (3, "B"), (3, "C"), (6, "F")])
- if __name__ == "__main__":
- unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement