Zanurkuj w Pythonie/Źródła/odbchelpertest.py

"""Test jednostkowy dla odbchelper.py

Ten program jest częścią "Zanurkuj w Pythonie", darmową książką o Pythonie dla zaawansowanych użytkowników. Odwiedź http://diveintopython.org/ i pobierz najnowszą wersję książki.

"""

__author__ = "Mark Pilgrim (mark@diveintopython.org)"
__version__ = "$Revision: 1.2 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "Copyright (c) 2001 Mark Pilgrim"
__license__ = "Python"

import unittest
import odbchelper

class GoodInput(unittest.TestCase):
	def testBlank(self):
		u"""buildConnectionString powinien działać dla pustego słownika"""
		self.assertEqual("", odbchelper.buildConnectionString({}))
	def testKnownValue(self):
		u"""buildConnectionString powinien zwracać poprawną wartość dla poprawnych danych"""
		params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
		knownItems = params.items()
		knownItems.sort()
		knownString = repr(knownItems)
		result = odbchelper.buildConnectionString(params)
		resultItems = [tuple(e.split("=")) for e in result.split(";")]
		resultItems.sort()
		resultString = repr(resultItems)
		self.assertEqual(knownString, resultString)

class BadInput(unittest.TestCase):
	def testString(self):
		u"""buildConnectionString powinien zwrócić wyjątek gdy podamy mu łańcuch znaków"""
		self.assertRaises(AttributeError, odbchelper.buildConnectionString, "")

	def testList(self):
		u"""buildConnectionString powinien zwrócić wyjątek gdy podamy mu listę"""
		self.assertRaises(AttributeError, odbchelper.buildConnectionString, [])

	def testTuple(self):
		u"""buildConnectionString powinien zwrócić wyjątek gdy podamy mu krotkę"""
		self.assertRaises(AttributeError, odbchelper.buildConnectionString, ())

if __name__ == "__main__":
	unittest.main()