Advertisement
Jure199

Untitled

Mar 7th, 2015
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.34 KB | None | 0 0
  1. import unittest
  2. import os
  3. import zipfile
  4. import time
  5.  
  6. 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,
  7.             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}
  8. def tocke(n):
  9.     return tockee[n]
  10.  
  11. def pristej(disciplina, vrstni_red):
  12.     counter = 0
  13.     for i in vrstni_red:
  14.         counter+=1
  15.         if i in disciplina:
  16.             disciplina[i] += tockee[counter]
  17.         else:disciplina[i] = tockee[counter]
  18.     return disciplina
  19.  
  20. def prvih_n(disciplina, n):
  21.     s = []
  22.     for i,j in disciplina.items():
  23.         e = [j,i]
  24.         f = tuple(e)
  25.         s.append(f)
  26.     s.sort(reverse=True)
  27.     return s[:n]
  28.  
  29. def razvrstitev(casi):
  30.     s = list(casi)
  31.     prazen = []
  32.     for i in s:
  33.         prazen.append(i)
  34.     prazen.sort()
  35.     counter = 0
  36.     for i,j in prazen:
  37.         counter += 1
  38.         i = counter
  39.     return prazen
  40.  
  41.  
  42. class TestSmucanje(unittest.TestCase):
  43.     @classmethod
  44.     def setUpClass(cls):
  45.         base, ext = os.path.splitext(os.path.basename(__file__))
  46.         zf = zipfile.ZipFile(__file__ + ".zip", "a", zipfile.ZIP_DEFLATED)
  47.         zf.write(__file__, "{}.{}{}".format(base, int(time.time()), ext))
  48.         zf.close()
  49.  
  50.     def test_tocke(self):
  51.         [self.assertEqual(tocke(i + 1), t,
  52.                           "Napaka: %i. mesto prinaša %i točk" % (i + 1, t))
  53.          for i, t in enumerate([100, 80, 60, 50, 45, 40, 36, 32, 29, 26, 24,
  54.                                 22, 20, 18, 16, 15, 14, 13, 12, 11, 10, 9, 8,
  55.                                 7, 6, 5, 4, 3, 2, 1])]
  56.  
  57.     def test_pristej(self):
  58.         smuk = {}
  59.         pristej(smuk, ["Ana", "Berta", "Cilka"])
  60.         self.assertEqual(smuk, {"Ana": 100, "Berta": 80, "Cilka": 60})
  61.         pristej(smuk, ["Berta", "Cilka", "Dani", "Ema", "Fanči", "Greta"])
  62.         self.assertEqual(smuk, {"Ana": 100, "Berta": 180, "Cilka": 140,
  63.                                 "Dani": 60, "Ema": 50, "Fanči": 45, "Greta": 40})
  64.         pristej(smuk, ["Cilka"])
  65.         self.assertEqual(smuk, {"Ana": 100, "Berta": 180, "Cilka": 240,
  66.                                 "Dani": 60, "Ema": 50, "Fanči": 45, "Greta": 40})
  67.         pristej(smuk, [])
  68.         self.assertEqual(smuk, {"Ana": 100, "Berta": 180, "Cilka": 240,
  69.                                 "Dani": 60, "Ema": 50, "Fanči": 45, "Greta": 40})
  70.         pristej(smuk, ["Helga"])
  71.         self.assertEqual(smuk, {"Ana": 100, "Berta": 180, "Cilka": 240,
  72.                                 "Dani": 60, "Ema": 50, "Fanči": 45, "Greta": 40,
  73.                                 "Helga": 100})
  74.  
  75.     def test_prvih_n(self):
  76.         smuk = {"Cilka": 240, "Berta": 180, "Ana": 100, "Dani": 60, "Ema": 50,
  77.                 "Fanči": 45, "Greta": 40}
  78.         self.assertEqual(prvih_n(smuk, 3),
  79.                          [(240, "Cilka"), (180, "Berta"), (100, "Ana")])
  80.         self.assertEqual(prvih_n(smuk, 2), [(240, "Cilka"), (180, "Berta")])
  81.         self.assertEqual(prvih_n(smuk, 1), [(240, "Cilka")])
  82.         self.assertEqual(prvih_n(smuk, 6), [
  83.             (240, "Cilka"), (180, "Berta"), (100, "Ana"), (60, "Dani"),
  84.             (50, "Ema"), (45, "Fanči")])
  85.  
  86.     def test_razvrstitev(self):
  87.         self.assertEqual(
  88.             razvrstitev([(13, "A"), (8, "B"), (15, "C"), (10, "D"), (12, "E")]),
  89.             [(1, "B"), (2, "D"), (3, "E"), (4, "A"), (5, "C")])
  90.         self.assertEqual(
  91.             razvrstitev([(13, "A"), (8, "B"), (15, "C"), (10, "D"), (8, "E")]),
  92.             [(1, "B"), (1, "E"), (3, "D"), (4, "A"), (5, "C")])
  93.         self.assertEqual(razvrstitev([(13, "A")]), [(1, "A")])
  94.         self.assertEqual(
  95.             razvrstitev([(13, "A"), (13, "B"), (13, "C"), (15, "D")]),
  96.             [(1, "A"), (1, "B"), (1, "C"), (4, "D")])
  97.         self.assertEqual(
  98.             razvrstitev([(13, "A"), (13, "B"), (13, "C"), (10, "D")]),
  99.             [(1, "D"), (2, "A"), (2, "B"), (2, "C")])
  100.         self.assertEqual(
  101.             razvrstitev([(13, "A"), (13, "B"), (13, "C"), (10, "D"), (15, "E")]),
  102.             [(1, "D"), (2, "A"), (2, "B"), (2, "C"), (5, "E")])
  103.         self.assertEqual(
  104.             razvrstitev([(13, "A"), (13, "B"), (13, "C"), (10, "D"), (10, "E"),
  105.                 (17, "F")]),
  106.             [(1, "D"), (1, "E"), (3, "A"), (3, "B"), (3, "C"), (6, "F")])
  107.  
  108. if __name__ == "__main__":
  109.     unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement