import unittest
from sqrt import sqrt
class SqrtTestCase(unittest.TestCase):
def test_sqrt_exception(self):
self.assertRaises(ValueError, sqrt, -1)
def test_sqrt(self):
self.assertEqual(sqrt(4), 2)
self.assertEqual(sqrt(6), 2.449489742783178)
if __name__ == '__main__':
unittest.main()
import unittest
from convert import convert
class ConvertTestCase(unittest.TestCase):
def test_convert_exception(self):
self.assertRaises(ValueError, convert, ("3ureuwrt"))
self.assertRaises(ValueError, convert, ([1, 3, 5]))
self.assertRaises(ValueError, convert, ("2.4"))
def test_convert(self):
self.assertEqual(convert("2"), 2)
if __name__ == '__main__':
unittest.main()
def sqrt(x):
"""Compute square roots using the method of Heron of Alexandria.
Args:
x: The number of which the square root is to be computed.
Returns:
The square root of x.
Raises:
ValueError: If x is negative.
"""
if x < 0:
raise ValueError("Cannot compute square root "
"of negative number {}".format(x))
guess = x
i = 0
while guess * guess != x and i < 20:
guess = (guess + x / guess) / 2.0
i += 1
return guess
"""A module for demonstrating exceptions."""
import sys
def convert(s):
"""Convert to an integer"""
try:
return int(s)
except (ValueError, TypeError) as e:
print("Conversion error: {}".format(str(e)), file=sys.sterr)
return -1