예제 #1
0
class TestRectangleclass(unittest.TestCase):
    """Test Cases Class"""
    def setUp(self):
        """Set up"""
        self.inst = Rectangle(1, 2, 3, 4, 5)

    def tearDown(self):
        """ Tear Dowm"""
        del self.inst
        Base._Base__nb_objects = 0

    def test_to_dict(self):
        """ Tear Dowm"""
        r1 = self.inst.to_dictionary()
        exp = {'x': 3, 'y': 4, 'id': 5, 'height': 2, 'width': 1}
        self.assertEqual(r1, exp)

    def test_to_dict_1(self):
        """ Tear Dowm"""
        r1 = self.inst.to_dictionary()
        exp = {'x': 3, 'y': 4, 'id': 5, 'height': 2, 'width': 1}
        self.assertEqual(type(r1).__name__, type(exp).__name__)

    def test_area(self):
        """ Test Area"""
        self.assertEqual(self.inst.area(), 2)

    def out_c(self, x=None):
        """ Out std"""
        t = sys.stdout
        sys.stdout = StringIO()
        if x is None:
            self.inst.display()
        else:
            x.display()
        o = sys.stdout.getvalue()
        sys.stdout.close()
        sys.stdout = t
        return o

    def test_display(self):
        """ Test display"""
        display = "\n\n\n\n   #\n   #\n"
        o = self.out_c()
        self.assertEqual(o, display)

    def test_display_1(self):
        """ Test display"""
        r1 = Rectangle(4, 6)
        display = "####\n####\n####\n####\n####\n####\n"
        o = self.out_c(r1)
        self.assertEqual(o, display)

    def test_str(self):
        """ Test display"""
        self.assertEqual(str(self.inst), "[Rectangle] (5) 3/4 - 1/2")

    def test_update_att(self):
        """ Test display"""
        self.inst.update(89)
        self.assertEqual(str(self.inst), "[Rectangle] (89) 3/4 - 1/2")

    def test_update_dic(self):
        self.inst.update(x=6, height=8, y=3, width=7)
        self.assertEqual(str(self.inst), "[Rectangle] (5) 6/3 - 7/8")

    def test_id(self):
        """ Test id"""
        self.assertEqual(self.inst.id, 5)

    def test_id_1(self):
        """ Test id 1"""
        self.inst.id = 0
        inst1 = Rectangle(1, 2)
        inst2 = Rectangle(2, 1)
        inst3 = Rectangle(1, 2, 3, 4)
        self.assertEqual(inst3.id, 3)

    def test_width(self):
        """ test width"""
        self.assertEqual(self.inst.width, 1)

    def test_height(self):
        """ test height"""
        self.assertEqual(self.inst.height, 2)

    def test_x(self):
        """ test x"""
        self.assertEqual(self.inst.x, 3)

    def test_y(self):
        """ test y"""
        self.assertEqual(self.inst.y, 4)

    def test_raise_width(self):
        """ test raise width"""
        with self.assertRaisesRegex(TypeError, "width must be an integer"):
            self.inst.width = "Fault"

    def test_raise_height(self):
        """ test raise heigt"""
        with self.assertRaisesRegex(TypeError, "height must be an integer"):
            self.inst.height = "Fault"

    def test_raise_x(self):
        """ test raise heigt"""
        with self.assertRaisesRegex(TypeError, "x must be an integer"):
            self.inst.x = "Fault"

    def test_raise_y(self):
        """ test raise heigt"""
        with self.assertRaisesRegex(TypeError, "y must be an integer"):
            self.inst.y = "Fault"

    def test_raise_width_1(self):
        """ test raise heigt"""
        with self.assertRaisesRegex(ValueError, "width must be > 0"):
            self.inst.width = 0

    def test_raise_height_1(self):
        """ test raise heigt"""
        with self.assertRaisesRegex(ValueError, "height must be > 0"):
            self.inst.height = 0

    def test_raise_x_1(self):
        """ test raise heigt"""
        with self.assertRaisesRegex(ValueError, "x must be >= 0"):
            self.inst.x = -1

    def test_raise_y_1(self):
        """ test raise heigt"""
        with self.assertRaisesRegex(ValueError, "y must be >= 0"):
            self.inst.y = -1
 def test_area(self):
     """Prints the area"""
     r1 = Rectangle(2, 4)
     self.assertEqual(r1.area(), 8)
예제 #3
0
class TestRectangle(unittest.TestCase):
    """class to test rectangle"""
    @classmethod
    def setUpClass(cls):
        """setupclass"""
        print("setupClass")

    @classmethod
    def tearDownClass(cls):
        """teardownclass"""
        print("teardownClass")

    def setUp(self):
        """setup"""
        print("setUp")
        self.r1 = Rectangle(10, 1)
        self.r2 = Rectangle(1, 10)
        self.r3 = Rectangle(1, 2, 3, 4, 5)
        self.r4 = Rectangle(5, 4, 3, 2, 1)

    def tearDown(self):
        """teardown"""
        print("tearDown")
        del self.r1
        del self.r2
        del self.r3
        del self.r4

    def test_ainit(self):
        """init test"""
        print("test_init")
        # r1
        self.assertIsNotNone(self.r1)
        self.assertIsInstance(self.r1, Base)
        self.assertIs(type(self.r1), Rectangle)
        self.assertEqual(self.r1.id, 28)
        self.assertEqual(self.r1.width, 10)
        self.assertEqual(self.r1.height, 1)
        self.assertEqual(self.r1.x, 0)
        self.assertEqual(self.r1.y, 0)
        # r2
        self.assertIsNotNone(self.r2)
        self.assertIsInstance(self.r2, Base)
        self.assertIs(type(self.r2), Rectangle)
        self.assertEqual(self.r2.id, 29)
        self.assertEqual(self.r2.width, 1)
        self.assertEqual(self.r2.height, 10)
        self.assertEqual(self.r2.x, 0)
        self.assertEqual(self.r2.y, 0)
        # r3
        self.assertIsNotNone(self.r3)
        self.assertIsInstance(self.r3, Base)
        self.assertIs(type(self.r3), Rectangle)
        self.assertEqual(self.r3.id, 5)
        self.assertEqual(self.r3.width, 1)
        self.assertEqual(self.r3.height, 2)
        self.assertEqual(self.r3.x, 3)
        self.assertEqual(self.r3.y, 4)
        # r4
        self.assertIsNotNone(self.r4)
        self.assertIsInstance(self.r4, Base)
        self.assertIs(type(self.r4), Rectangle)
        self.assertEqual(self.r4.id, 1)
        self.assertEqual(self.r4.width, 5)
        self.assertEqual(self.r4.height, 4)
        self.assertEqual(self.r4.x, 3)
        self.assertEqual(self.r4.y, 2)

    def test_validate_attr(self):
        """test exceptions"""
        print("test_validate_attr")
        # r1
        with self.assertRaises(TypeError):
            self.r1.__init__("poop", 1)
        with self.assertRaises(TypeError):
            self.r1.__init__([], 12)
        # r2
        with self.assertRaises(TypeError):
            self.r2.__init__(2, False)
        with self.assertRaises(TypeError):
            self.r2.__init__(4, None)
        # r3
        with self.assertRaises(ValueError):
            self.r3.__init__(-3, 12)
        with self.assertRaises(ValueError):
            self.r3.__init__(0, 1)
        # r4
        with self.assertRaises(ValueError):
            self.r4.__init__(4, 0)
        with self.assertRaises(ValueError):
            self.r4.__init__(2, -6)

    def test_display(self):
        """test display"""
        pass

    def test_str(self):
        """test str"""
        print("test_str")
        self.assertEqual(self.r1.__str__(),
                         "[Rectangle] ({}) 0/0 - 10/1".format(self.r1.id))
        self.assertEqual(self.r2.__str__(),
                         "[Rectangle] ({}) 0/0 - 1/10".format(self.r2.id))
        self.assertEqual(self.r3.__str__(),
                         "[Rectangle] ({}) 3/4 - 1/2".format(self.r3.id))
        self.assertEqual(self.r4.__str__(),
                         "[Rectangle] ({}) 3/2 - 5/4".format(self.r4.id))

    def test_area(self):
        """Test area"""
        print("test_area")
        # r1
        self.assertEqual(self.r1.area(), 10)
        # r2
        self.assertEqual(self.r2.area(), 10)
        # r3
        self.assertEqual(self.r3.area(), 2)
        # r4
        self.assertEqual(self.r4.area(), 20)

    def test_update_args(self):
        """Test update args"""
        print("test_update_args")
        self.assertEqual(self.r1.__str__(),
                         "[Rectangle] ({}) 0/0 - 10/1".format(self.r1.id))
        self.r1.update(69)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 0/0 - 10/1")
        self.r1.update(69, 2)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 0/0 - 2/1")
        self.r1.update(69, 2, 3)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 0/0 - 2/3")
        self.r1.update(69, 2, 3, 4)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 4/0 - 2/3")
        self.r1.update(69, 2, 3, 4, 5)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 4/5 - 2/3")

    def test_update_kwargs(self):
        """test update kwargs"""
        print("test_update_kwargs")
        self.assertEqual(self.r1.__str__(),
                         "[Rectangle] ({}) 0/0 - 10/1".format(self.r1.id))
        self.r1.update(id=69)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 0/0 - 10/1")
        self.r1.update(width=2)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 0/0 - 2/1")
        self.r1.update(height=3)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 0/0 - 2/3")
        self.r1.update(x=4)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 4/0 - 2/3")
        self.r1.update(y=5)
        self.assertEqual(self.r1.__str__(), "[Rectangle] (69) 4/5 - 2/3")

    def test_module_doctstring(self):
        """Module docstring check"""
        print("test_module_docstring")
        result = len(__import__('models.rectangle').__doc__)
        self.assertTrue(result > 0, True)

    def test_class_docstring(self):
        """Class docstring check"""
        print("test_class_docstring")
        result = len(Rectangle.__doc__)
        self.assertTrue(result > 0, True)

    def test_init_docstring(self):
        """Init docstring check"""
        print("test_init_docstring")
        result = len(self.__init__.__doc__)
        self.assertTrue(result > 0, True)

    def test_width_getter_docstring(self):
        """width_getter Docstring Test"""
        print("test_width_getter_docstring")
        result = len(Rectangle.width.__doc__)
        self.assertTrue(result > 0, True)

    def test_height_getter_docstring(self):
        """height_getter Docstring Test"""
        print("test_height_getter_docstring")
        result = len(Rectangle.height.__doc__)
        self.assertTrue(result > 0, True)

    def test_x_getter_docstring(self):
        """x_getter Docstring Test"""
        print("test_x_getter_docstring")
        result = len(Rectangle.x.__doc__)
        self.assertTrue(result > 0, True)

    def test_y_getter_docstring(self):
        """y_getter Docstring Test"""
        print("test_y_getter_docstring")
        result = len(Rectangle.y.__doc__)
        self.assertTrue(result > 0, True)

    def test_area_docstring(self):
        """area Docstring Test"""
        print("test_area_docstring")
        result = len(Rectangle.area.__doc__)
        self.assertTrue(result > 0, True)

    def test_display_docstring(self):
        """display Docstring Test"""
        print("test_display_docstring")
        result = len(Rectangle.display.__doc__)
        self.assertTrue(result > 0, True)

    def test_str_docstring(self):
        """str Docstring Test"""
        print("test_str_docstring")
        result = len(Rectangle.__str__.__doc__)
        self.assertTrue(result > 0, True)

    def test_update_docstring(self):
        """update Docstring Test"""
        print("test_update_docstring")
        result = len(Rectangle.update.__doc__)
        self.assertTrue(result > 0, True)

    def test_to_dictionary_docstring(self):
        """to_dictionary Docstring Test"""
        print("test_to_dictionary_docstring")
        result = len(Rectangle.to_dictionary.__doc__)
        self.assertTrue(result > 0, True)
예제 #4
0
 def test_area(self):
     """ test area method """
     r3 = Rectangle(5, 5)
     self.assertEqual(r3.area(), 25)
예제 #5
0
 def test_area(self):
     rect = Rectangle(1, 2)
     self.assertEqual(rect.area(), 2)
예제 #6
0
 def test_area(self):
     r = Rectangle(4, 8)
     self.assertEqual(r.area(), 32)
 def test_area(self):
     """ Test for correct area calculation """
     rec = Rectangle(5, 5)
     self.assertEqual(rec.area(), 25)
     rec = Rectangle(6, 11, 2, 7, 32767)
     self.assertEqual(rec.area(), 66)