Informatika2-2012/Gyakorlat11

A MathWikiből
(Változatok közti eltérés)
(Unittest)
(Unittest)
57. sor: 57. sor:
 
</python>
 
</python>
  
 
+
<code>
 
Method Checks that New in
 
Method Checks that New in
 
assertEqual(a, b) a == b  
 
assertEqual(a, b) a == b  
89. sor: 89. sor:
 
assertSetEqual(a, b) sets or frozensets 2.7
 
assertSetEqual(a, b) sets or frozensets 2.7
 
assertDictEqual(a, b) dicts 2.7
 
assertDictEqual(a, b) dicts 2.7
 +
</code>
  
 
== Mentés, visszatöltés ==
 
== Mentés, visszatöltés ==

A lap 2012. április 26., 09:04-kori változata

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!

Személyes eszközök