예제 #1
0
    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
예제 #2
0
 def test_w_setter(self):
     rec = Rectangle(10, 7, 8, 2, 4)
     rec.width = 10
     self.assertEqual(10, rec.width)
예제 #3
0
 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)
예제 #7
0
 def test_area_changed_attributes(self):
     r = Rectangle(3, 2, 5, 1, 1)
     r.width = 7
     r.height = 8
     self.assertEqual(56, r.area())
예제 #8
0
 def test_width_setter(self):
     r = Rectangle(1, 1, 2, 3, 5)
     r.width = 14
     self.assertEqual(14, r.width)
예제 #9
0
 def test_set_instance_member_width(self):
     instance = Rectangle(2, 2)
     instance.width = 1
     self.assertEqual(instance.width, 1, "wrong width")
예제 #10
0
    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))
예제 #11
0
    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)
예제 #12
0
 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
예제 #14
0
 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)
예제 #15
0
 def test_width_setter(self):
     r = Rectangle(3, 7, 7, 3, 1)
     r.width = 6
     self.assertEqual(6, r.width)
예제 #16
0
 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
예제 #20
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))
예제 #27
0
 def change_value_area(self):
     r = Rectangle(2, 10, 0, 0, 6)
     r.width = 8
     r.height = 7
     self.assertEqual(56, r.area())