Advertisement
Guest User

Untitled

a guest
Nov 21st, 2014
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. import unittest
  2. import phonebook
  3.  
  4.  
  5. class Test(unittest.TestCase):
  6.  
  7. def test_add_empty_name_raises_exception(self):
  8. self.assertRaises(ValueError, phonebook.add, "", "1111111111")
  9.  
  10. if __name__ == "__main__":
  11. # import sys;sys.argv = ['', 'Test.testName']
  12. unittest.main()
  13.  
  14. import re
  15.  
  16. _phonebook = {}
  17. file_name = "phonebook.txt"
  18.  
  19.  
  20. def is_valid_name(name):
  21. return re.search(r"([A-Z][a-z]*)([\s\'-][A-Z][a-z]*)*", name) is not None
  22.  
  23.  
  24. def is_valid_number(number):
  25. return re.search(r"+?[d ]+$", number) is not None
  26.  
  27.  
  28. def add(name, number):
  29. try:
  30. if is_valid_name(name) and is_valid_number(number):
  31. _phonebook[name] = number
  32. else:
  33. raise ValueError("Invalid arguments.", name, number)
  34. except ValueError as err:
  35. print err.args
  36.  
  37.  
  38. if __name__ == '__main__':
  39. pass
  40.  
  41. Finding files... done.
  42. Importing test modules ... done.
  43.  
  44. ('Invalid arguments.', '', '1111111111')
  45. ======================================================================
  46. FAIL: test_add_empty_name_raises_exception (path.to.phonebook.test_phonebook.Test)
  47. ----------------------------------------------------------------------
  48. Traceback (most recent call last):
  49. File "pathtophonebooktest_phonebook.py", line 13, in test_add_empty_name_raises_exception
  50. self.assertRaises(ValueError, phonebook.add, "", "1111111111")
  51. AssertionError: ValueError not raised
  52.  
  53. ----------------------------------------------------------------------
  54. Ran 1 test in 0.002s
  55.  
  56. def test_add_empty_name_raises_exception(self):
  57. with self.assertRaises(ValueError):
  58. self.phonebook.add("", "1111111111)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement