Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import unittest
- import os
- import zipfile
- import time
- def nepadajoca(s):
- if len(s) in [0,1]:
- return True
- if s[0] <= s[1]:
- return nepadajoca(s[1:])
- return False
- def govorica(pot,znanci):
- for oseba1, oseba2 in zip(pot, pot[1:]):
- if (oseba1, oseba2) not in znanci:
- return False
- else: govorica(pot[1:], znanci)
- return True
- def sodo_liho(s):
- return all(n % 2 for n in s[1::2]) and not any(n % 2 for n in s[::2])
- 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_rekurzivna_nepadajoca(self):
- try:
- nepadajoca("A" * 2020)
- self.fail("Funkcija 'nepadajoca' mora biti rekurzivna!")
- except RuntimeError:
- pass
- def test_nepadajoca(self):
- self.assertTrue(nepadajoca(""))
- self.assertTrue(nepadajoca("A"))
- self.assertTrue(nepadajoca("AA"))
- self.assertTrue(nepadajoca("AABC"))
- self.assertTrue(nepadajoca("ABBCCCCCD"))
- self.assertFalse(nepadajoca("BA"))
- self.assertFalse(nepadajoca("ABA"))
- self.assertFalse(nepadajoca("BCA"))
- self.assertFalse(nepadajoca("BAC"))
- def test_rekurzivna_govorica(self):
- try:
- govorica("A" * 2020, {("A", "A")})
- self.fail("Funkcija 'govorica' mora biti rekurzivna!")
- except RuntimeError:
- pass
- def test_govorica(self):
- znanci = {("A", "B"), ("A", "D"), ("B", "C"), ("B", "D"), ("C", "D"),
- ("B", "A"), ("D", "A"), ("C", "B"), ("D", "B"), ("D", "C")}
- self.assertTrue(govorica("ABCD", znanci))
- self.assertTrue(govorica("DCBA", znanci))
- self.assertTrue(govorica("DC", znanci))
- self.assertTrue(govorica("CB", znanci))
- self.assertTrue(govorica("AB", znanci))
- self.assertFalse(govorica("ACDB", znanci))
- self.assertFalse(govorica("DACB", znanci))
- self.assertFalse(govorica("BDAC", znanci))
- def test_sodo_liho(self):
- self.assertTrue(sodo_liho([2, 1, 6, 3, 4, 1, 0, 1]))
- self.assertTrue(sodo_liho([2, 1, 6, 3, 4, 1, 0]))
- self.assertTrue(sodo_liho([2, 1, 6, 3]))
- self.assertTrue(sodo_liho([2, 1]))
- self.assertTrue(sodo_liho([2]))
- self.assertTrue(sodo_liho([]))
- self.assertFalse(sodo_liho([1, 6, 3, 1, 4]))
- self.assertFalse(sodo_liho([1, 6, 3, 1, 1]))
- self.assertFalse(sodo_liho([1, 6, 4, 1, 1]))
- self.assertFalse(sodo_liho([1, 6, 4, 4, 1]))
- self.assertFalse(sodo_liho([1, 6, 3]))
- self.assertFalse(sodo_liho([1]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement