Informatika2-2012/Gyakorlat11
A MathWikiből
A lap korábbi változatát látod, amilyen Stma (vitalap | szerkesztései) 2012. április 26., 10:05-kor történt szerkesztése után volt.
Tartalomjegyzék |
Keresés
Egészítsd ki a jegyzettömböt úgy hogy a jegyzetek tartalmára keresni lehessen.
Kivételek
Egészítsük ki a jegyzettömb implementációnkat, hogy ha a jegyzettömb konstruktora nem megfelelő típust kap akkor TypeError adjon vissza. Írjunk saját kivételt ami leszármazik TypeError-tól és ha a jegyzet üresen szeretnék létrehozni akkor dobjunk ilyen kivételt.
Unittest
írj testeket a jegyzettombre. pl.:
- jol mukodik-e az add?
- a konstruktor dobja-e a kivételt ha rosszul hivjak
- stb.
unittest használata manual:
import random import unittest class TestSequenceFunctions(unittest.TestCase): def setUp(self): self.seq = range(10) def tearDown(self): pass # def runTest(self): # pass def test_shuffle(self): # make sure the shuffled sequence does not lose any elements random.shuffle(self.seq) self.seq.sort() self.assertEqual(self.seq, range(10)) # should raise an exception for an immutable sequence self.assertRaises(TypeError, random.shuffle, (1,2,3)) def test_choice(self): element = random.choice(self.seq) self.assertTrue(element in self.seq) def test_sample(self): with self.assertRaises(ValueError): random.sample(self.seq, 20) for element in random.sample(self.seq, 5): self.assertTrue(element in self.seq) # command line test run #if __name__ == '__main__': # unittest.main() suite = unittest.TestLoader().loadTestsFromTestCase(TestSequenceFunctions) unittest.TextTestRunner(verbosity=2).run(suite)
Method Checks that New in assertEqual(a, b) a == b assertNotEqual(a, b) a != b assertTrue(x) bool(x) is True assertFalse(x) bool(x) is False assertIs(a, b) a is b 2.7 assertIsNot(a, b) a is not b 2.7 assertIsNone(x) x is None 2.7 assertIsNotNone(x) x is not None 2.7 assertIn(a, b) a in b 2.7 assertNotIn(a, b) a not in b 2.7 assertIsInstance(a, b) isinstance(a, b) 2.7 assertNotIsInstance(a, b) not isinstance(a, b) 2.7 assertRaises(exc, fun, *args, **kwds) fun(*args, **kwds) raises exc assertRaisesRegexp(exc, re, fun, *args, **kwds) fun(*args, **kwds) raises exc and the message matches re 2.7 assertAlmostEqual(a, b) round(a-b, 7) == 0 assertNotAlmostEqual(a, b) round(a-b, 7) != 0 assertGreater(a, b) a > b 2.7 assertGreaterEqual(a, b) a >= b 2.7 assertLess(a, b) a < b 2.7 assertLessEqual(a, b) a <= b 2.7 assertRegexpMatches(s, re) regex.search(s) 2.7 assertNotRegexpMatches(s, re) not regex.search(s) 2.7 assertItemsEqual(a, b) sorted(a) == sorted(b) and works with unhashable objs 2.7 assertDictContainsSubset(a, b) all the key/value pairs in a exist in b 2.7 assertMultiLineEqual(a, b) strings 2.7 assertSequenceEqual(a, b) sequences 2.7 assertListEqual(a, b) lists 2.7 assertTupleEqual(a, b) tuples 2.7 assertSetEqual(a, b) sets or frozensets 2.7 assertDictEqual(a, b) dicts 2.7
Mentés, visszatöltés
jegyzettomb kiegészítése mentés funkcióval, hogy ha később indításkor a meglévő jegyzeteket vissza tudjuk olvasni.
Menü
Csináljunk kezdetleges menüt a jegyzetek, jegyzettömbök kezelésére. A programot próbáljuk osztályokba szervezni!