def test_validate_values_attributes(self): r4 = Rectangle(10, 10) with self.assertRaises(ValueError): r4.x = -1 with self.assertRaises(ValueError): r4.y = -1 with self.assertRaises(ValueError): r4.width = 0 with self.assertRaises(ValueError): r4.height = 0 with self.assertRaises(TypeError): r4.x = 100.8 with self.assertRaises(TypeError): r4.x = float('nan') with self.assertRaises(TypeError): r4.x = float(10E1000) with self.assertRaises(TypeError): r4.x = (4,) with self.assertRaises(TypeError): r4.x = [3] with self.assertRaises(TypeError): r4.x = True with self.assertRaises(TypeError): r4.x = {3, 4} with self.assertRaises(TypeError): r4.x = None with self.assertRaises(TypeError): r4.y = 100.8 with self.assertRaises(TypeError): r4.y = float('nan') with self.assertRaises(TypeError): r4.y = float(10E1000) with self.assertRaises(TypeError): r4.y = (4,) with self.assertRaises(TypeError): r4.y = [3] with self.assertRaises(TypeError): r4.y = True with self.assertRaises(TypeError): r4.y = {3, 4} with self.assertRaises(TypeError): r4.y = None with self.assertRaises(TypeError): r4.height = 100.8 with self.assertRaises(TypeError): r4.height = float('nan') with self.assertRaises(TypeError): r4.height = float(10E1000) with self.assertRaises(TypeError): r4.height = (4,) with self.assertRaises(TypeError): r4.height = [3] with self.assertRaises(TypeError): r4.height = True with self.assertRaises(TypeError): r4.height= {3, 4} with self.assertRaises(TypeError): r4.height = None with self.assertRaises(TypeError): r4.width = 100.8 with self.assertRaises(TypeError): r4.width = float('nan') with self.assertRaises(TypeError): r4.width = float(10E1000) with self.assertRaises(TypeError): r4.width = (4,) with self.assertRaises(TypeError): r4.width = [3] with self.assertRaises(TypeError): r4.width = True with self.assertRaises(TypeError): r4.width = {3, 4} with self.assertRaises(TypeError): r4.width = None
def test_w_setter(self): rec = Rectangle(10, 7, 8, 2, 4) rec.width = 10 self.assertEqual(10, rec.width)
def test_Errmsg3(self): """This will test the class rectangle""" with self.assertRaises(ValueError) as err: r = Rectangle(10, 2) r.width = -10 self.assertTrue('width must be > 0' in str(err.exception))
def test_width_setter(self): r = Rectangle(5, 7, 7, 5, 1) r.width = 10 self.assertEqual(10, r.width)
def test_value_error_1(self): with self.assertRaises(ValueError): r = Rectangle(10, 2) r.width = -10
def test_exceptions(self): """test_exceptions method""" r1 = Rectangle(10, 2) with self.assertRaisesRegex(TypeError, "height must be an integer"): r4 = Rectangle(10, "2") with self.assertRaisesRegex(TypeError, "height must be an integer"): r4 = Rectangle(10, [2]) with self.assertRaisesRegex(TypeError, "height must be an integer"): r4 = Rectangle(10, (2, )) with self.assertRaisesRegex(TypeError, "height must be an integer"): r4 = Rectangle(10, 2.0) with self.assertRaisesRegex(TypeError, "width must be an integer"): r4 = Rectangle("10", 2) with self.assertRaisesRegex(TypeError, "width must be an integer"): r4 = Rectangle([10], 2) with self.assertRaisesRegex(TypeError, "width must be an integer"): r4 = Rectangle((10, ), 2) with self.assertRaisesRegex(TypeError, "width must be an integer"): r4 = Rectangle(10.0, 2) with self.assertRaisesRegex(TypeError, "x must be an integer"): r4 = Rectangle(10, 2, "3") with self.assertRaisesRegex(TypeError, "x must be an integer"): r4 = Rectangle(10, 2, [3]) with self.assertRaisesRegex(TypeError, "x must be an integer"): r4 = Rectangle(10, 2, (3, )) with self.assertRaisesRegex(TypeError, "x must be an integer"): r4 = Rectangle(10, 2, 3.0) with self.assertRaisesRegex(TypeError, "y must be an integer"): r4 = Rectangle(10, 2, 3, "4") with self.assertRaisesRegex(TypeError, "y must be an integer"): r4 = Rectangle(10, 2, 3, [4]) with self.assertRaisesRegex(TypeError, "y must be an integer"): r4 = Rectangle(10, 2, 3, (4, )) with self.assertRaisesRegex(TypeError, "y must be an integer"): r4 = Rectangle(10, 2, 3, 4.0) with self.assertRaisesRegex(ValueError, "width must be > 0"): r1.width = -10 with self.assertRaisesRegex(ValueError, "height must be > 0"): r1.height = -10 with self.assertRaisesRegex(ValueError, "x must be >= 0"): r1.x = -10 with self.assertRaisesRegex(ValueError, "y must be >= 0"): r1.y = -10 with self.assertRaisesRegex(TypeError, "x must be an integer"): r1.x = {} with self.assertRaisesRegex(TypeError, "x must be an integer"): r1.x = [] with self.assertRaisesRegex(TypeError, "x must be an integer"): r1.x = () with self.assertRaisesRegex(TypeError, "x must be an integer"): r1.x = "x" with self.assertRaisesRegex(TypeError, "y must be an integer"): r1.y = {} with self.assertRaisesRegex(TypeError, "y must be an integer"): r1.y = [] with self.assertRaisesRegex(TypeError, "y must be an integer"): r1.y = () with self.assertRaisesRegex(TypeError, "y must be an integer"): r1.y = "y" with self.assertRaisesRegex(TypeError, "width must be an integer"): r1.width = {} with self.assertRaisesRegex(TypeError, "width must be an integer"): r1.width = [] with self.assertRaisesRegex(TypeError, "width must be an integer"): r1.width = () with self.assertRaisesRegex(TypeError, "width must be an integer"): r1.width = "width" with self.assertRaisesRegex(TypeError, "height must be an integer"): r1.height = {} with self.assertRaisesRegex(TypeError, "height must be an integer"): r1.height = [] with self.assertRaisesRegex(TypeError, "height must be an integer"): r1.height = () with self.assertRaisesRegex(TypeError, "height must be an integer"): r1.height = "height" with self.assertRaisesRegex(ValueError, "y must be >= 0"): r4 = Rectangle(10, 2, 3, -1) with self.assertRaisesRegex(ValueError, "x must be >= 0"): r4 = Rectangle(10, 2, -3, 1) with self.assertRaisesRegex(ValueError, "height must be > 0"): r4 = Rectangle(10, -2, 3, 1) with self.assertRaisesRegex(ValueError, "width must be > 0"): r4 = Rectangle(-10, 2, 3, 1)
def test_area_changed_attributes(self): r = Rectangle(3, 2, 5, 1, 1) r.width = 7 r.height = 8 self.assertEqual(56, r.area())
def test_width_setter(self): r = Rectangle(1, 1, 2, 3, 5) r.width = 14 self.assertEqual(14, r.width)
def test_set_instance_member_width(self): instance = Rectangle(2, 2) instance.width = 1 self.assertEqual(instance.width, 1, "wrong width")
def test_set_instance_member_width_to_float(self): with self.assertRaises(TypeError) as context: instance = Rectangle(2, 2) instance.width = 2.2 self.assertTrue('width must be an integer' in str(context.exception))
def test_setters(self): """Public method to check types and values de getters methods""" r26 = Rectangle(2, 2) r26.width = 8 self.assertEqual(r26.width, 8) self.assertEqual(type(r26.width), int) with self.assertRaises(TypeError): r26.width = (3 + 5j) with self.assertRaises(TypeError): r26.width = [5, 7] with self.assertRaises(TypeError): r26.width = 5.2 with self.assertRaises(TypeError): r26.width = {'malo': 3, 'bueno': 6} with self.assertRaises(TypeError): r26.width = True with self.assertRaises(TypeError): r26.width = (5, 8) with self.assertRaises(TypeError): r26.width = "sY CiRbo" with self.assertRaises(TypeError): r26.width = ([4, 3]) with self.assertRaises(ValueError): r26.width = (0) with self.assertRaises(ValueError): r26.width = (-1) r26.height = 8 self.assertEqual(r26.height, 8) self.assertEqual(type(r26.height), int) with self.assertRaises(TypeError): r26.height = (3 + 5j) with self.assertRaises(TypeError): r26.height = [5, 7] with self.assertRaises(TypeError): r26.height = 5.2 with self.assertRaises(TypeError): r26.height = {'malo': 3, 'bueno': 6} with self.assertRaises(TypeError): r26.height = True with self.assertRaises(TypeError): r26.height = (5, 8) with self.assertRaises(TypeError): r26.height = "sY CiRbo" with self.assertRaises(TypeError): r26.height = ([4, 3]) with self.assertRaises(ValueError): r26.height = (0) with self.assertRaises(ValueError): r26.height = (-1) r26.x = 8 self.assertEqual(r26.x, 8) self.assertEqual(type(r26.x), int) with self.assertRaises(TypeError): r26.x = (3 + 5j) with self.assertRaises(TypeError): r26.x = [5, 7] with self.assertRaises(TypeError): r26.x = 5.2 with self.assertRaises(TypeError): r26.x = {'malo': 3, 'bueno': 6} with self.assertRaises(TypeError): r26.x = True with self.assertRaises(TypeError): r26.x = (5, 8) with self.assertRaises(TypeError): r26.x = "sY CiRbo" with self.assertRaises(TypeError): r26.x = ([4, 3]) with self.assertRaises(ValueError): r26.x = (-1) r26.y = 8 self.assertEqual(r26.y, 8) self.assertEqual(type(r26.y), int) with self.assertRaises(TypeError): r26.y = (3 + 5j) with self.assertRaises(TypeError): r26.y = [5, 7] with self.assertRaises(TypeError): r26.y = 5.2 with self.assertRaises(TypeError): r26.y = {'malo': 3, 'bueno': 6} with self.assertRaises(TypeError): r26.y = True with self.assertRaises(TypeError): r26.y = (5, 8) with self.assertRaises(TypeError): r26.y = "sY CiRbo" with self.assertRaises(TypeError): r26.y = ([4, 3]) with self.assertRaises(ValueError): r26.y = (-1) r26.id = 8 self.assertEqual(r26.id, 8) self.assertEqual(type(r26.id), int)
def test_raise_error_value1(self): """ Raise error value""" with self.assertRaises(ValueError): r = Rectangle(10, 2) r.width = -10
def test_raise_errors(self): """Check for raises errors """ # Checks for diferents instances with self.assertRaises(TypeError): r1 = Rectangle() with self.assertRaises(NameError): r1 = Rectangle_shape() with self.assertRaises(AttributeError): r1 = Rectangle(10, 80) r1.to_json() with self.assertRaises(TypeError): r2 = Rectangle(10) with self.assertRaises(ValueError): r3 = Rectangle(10, -4) with self.assertRaises(ValueError): r4 = Rectangle(-10, 4) with self.assertRaises(TypeError): r5 = Rectangle(10, "4") with self.assertRaises(TypeError): r6 = Rectangle("10", 4) with self.assertRaises(TypeError): r7 = Rectangle(10, 4, "9") with self.assertRaises(TypeError): r8 = Rectangle(10, 4, 9, "20") with self.assertRaises(ValueError): r9 = Rectangle(10, 4, -5, 7) with self.assertRaises(ValueError): r10 = Rectangle(10, 4, 5, -10) with self.assertRaises(TypeError): r11 = Rectangle(10, 4, 5, 10, 30, 60) with self.assertRaises(ValueError): r12 = Rectangle(0, 10) with self.assertRaises(ValueError): r13 = Rectangle(15, 0) # Checks for setters with self.assertRaises(TypeError): r1.x = "4" with self.assertRaises(ValueError): r1.x = -4 with self.assertRaises(ValueError): r1.width = -10 with self.assertRaises(TypeError): r1.width = "10" with self.assertRaises(TypeError): r1.height = "30" with self.assertRaises(ValueError): r1.height = -10 with self.assertRaises(TypeError): r1.y = "10" with self.assertRaises(ValueError): r1.y = -10 # Checks for update method with self.assertRaises(ValueError): r1.update(10, -10, 20, 40) with self.assertRaises(TypeError): r1.update(10, 10, "20", 40) with self.assertRaises(ValueError): r1.update(id=10, x=10, y=20, width=40, height=-60) with self.assertRaises(TypeError): r1.update(id=10, x=10, y=20, width="30", height=40) with self.assertRaises(AttributeError): r2 = None r2.to_dictionary
def test_rectangle_set_values(self): r1 = Rectangle(1, 1) r1.width = 5 r1.height = 6 self.assertEqual(r1.width, 5) self.assertEqual(r1.height, 6)
def test_width_setter(self): r = Rectangle(3, 7, 7, 3, 1) r.width = 6 self.assertEqual(6, r.width)
def test_area_attr(self): r = Rectangle(20, 30, 3, 3, 3) r.width = 14 r.height = 10 self.assertEqual(140, r.area())
def test_width_setter_wrong(self): """ Test for wrong type for width setter. """ r1 = Rectangle(1, 5) with self.assertRaises(TypeError): r1.width = "nope"
def test_width_less_than_zero(self): """Test width less than zero. """ r = Rectangle(10, 2, id=13) with self.assertRaises(ValueError): r.width = -10
def test_width_setter_zero(self): """ Test with 0 for width setter. """ r1 = Rectangle(1, 5) with self.assertRaises(ValueError): r1.width = 0
def test_10(self): """mod atribute by assignment""" s1 = Rectangle(12, 4) self.assertEqual(s1.width, 12) s1.width = 25 self.assertEqual(s1.width, 25) s1.height = 5 self.assertEqual(s1.height, 5) with self.assertRaises(TypeError) as err: s1.width = "asdasd" self.assertEqual("width must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.width = [44, 56] self.assertEqual("width must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.width = True self.assertEqual("width must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.width = {"aasd": 5} self.assertEqual("width must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.width = {1, 2} self.assertEqual("width must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.width = (5, ) self.assertEqual("width must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.height = "asdasd" self.assertEqual("height must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.height = [44, 56] self.assertEqual("height must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.height = True self.assertEqual("height must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.height = {"aasd": 5} self.assertEqual("height must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.height = {1, 2} self.assertEqual("height must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.height = (5, ) self.assertEqual("height must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.x = "asdasd" self.assertEqual("x must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.x = [44, 56] self.assertEqual("x must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.y = True self.assertEqual("y must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.y = {"aasd": 5} self.assertEqual("y must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.x = {1, 2} self.assertEqual("x must be an integer", str(err.exception)) with self.assertRaises(TypeError) as err: s1.y = (5, ) self.assertEqual("y must be an integer", str(err.exception))
def test_width_setter_negative(self): """ Test with negative for width setter. """ r1 = Rectangle(1, 5) with self.assertRaises(ValueError): r1.width = -1
def test_J_display_simple(self): '''Tests display() method output.''' r = Rectangle(1, 1) f = io.StringIO() with redirect_stdout(f): r.display() s = "#\n" self.assertEqual(f.getvalue(), s) r.width = 3 r.height = 5 f = io.StringIO() with redirect_stdout(f): r.display() s = "\ ###\n\ ###\n\ ###\n\ ###\n\ ###\n\ " self.assertEqual(f.getvalue(), s) r = Rectangle(5, 6, 7, 8) f = io.StringIO() with redirect_stdout(f): r.display() s = """ ##### ##### ##### ##### ##### ##### """ self.assertEqual(f.getvalue(), s) r = Rectangle(9, 8) f = io.StringIO() with redirect_stdout(f): r.display() s = """\ ######### ######### ######### ######### ######### ######### ######### ######### """ self.assertEqual(f.getvalue(), s) r = Rectangle(1, 1, 10, 10) f = io.StringIO() with redirect_stdout(f): r.display() s = """\ # """ self.assertEqual(f.getvalue(), s) r = Rectangle(5, 5) f = io.StringIO() with redirect_stdout(f): r.display() s = """\ ##### ##### ##### ##### ##### """ self.assertEqual(f.getvalue(), s) r = Rectangle(5, 3, 5) f = io.StringIO() with redirect_stdout(f): r.display() s = """\ ##### ##### ##### """ self.assertEqual(f.getvalue(), s) r = Rectangle(5, 3, 0, 4) f = io.StringIO() with redirect_stdout(f): r.display() s = """\ ##### ##### ##### """ self.assertEqual(f.getvalue(), s)
def test_area_changed_attributes(self): """Test rectangle area when attributes are modified""" r = Rectangle(1, 2, 3, 4, 5) r.width = 6 r.height = 7 self.assertEqual(42, r.area())
def test_area_changed_attributes(self): r = Rectangle(2, 10, 1, 1, 1) r.width = 7 r.height = 14 self.assertEqual(98, r.area())
def test_width_setter(self): """Test if width setter works""" a = Rectangle(12, 13, 1, 2, 3) a.width = 69 self.assertEqual(a.width, 69)
#!/usr/bin/python3 """ 2-main """ from models.rectangle import Rectangle if __name__ == "__main__": try: Rectangle("", "2") except Exception as e: print("[{}] {}".format(e.__class__.__name__, e)) try: r = Rectangle(10, 2) r.width = -10 except Exception as e: print("[{}] {}".format(e.__class__.__name__, e)) try: r = Rectangle(10, 2) r.x = {} except Exception as e: print("[{}] {}".format(e.__class__.__name__, e)) try: Rectangle(10, 2, 3, -1) except Exception as e: print("[{}] {}".format(e.__class__.__name__, e))
def change_value_area(self): r = Rectangle(2, 10, 0, 0, 6) r.width = 8 r.height = 7 self.assertEqual(56, r.area())