Esempio n. 1
0
    def test_Type(self):
        """ Errors """

        with self.assertRaises(TypeError) as e:
            msg = "width must be an integer"
            s1 = s('t')

        with self.assertRaises(TypeError) as e:
            msg = "x must be an integer"
            s2 = s(10, 't')

        with self.assertRaises(TypeError) as e:
            msg = "y must be an integer"
            s3 = s(10, 2, 'u')

        with self.assertRaises(TypeError) as e:
            msg = '__init__() takes from 2 to 5 positional arguments\
            but 6 were given'

            s4 = s(10, 2, 6, 2, 3)

        with self.assertRaises(TypeError) as e:
            msg = "__init__() missing 1 required positional argument: 'size'"
            s5 = s()

        self.assertAlmostEqual(msg, str(e.exception))
    def test_area(self):
        """Test Area"""

        s1 = s(1, 1, 1)
        s2 = s(4, 2, 3)
        s3 = s(56, 5, 7)

        self.assertEqual(s1.area(), 1)
        self.assertEqual(s2.area(), 16)
        self.assertEqual(s3.area(), 3136)
Esempio n. 3
0
    def test_Area(self):
        """ test area """

        s1 = s(6)
        self.assertAlmostEqual(s1.area(), 36)

        s2 = s(2, 3)
        self.assertAlmostEqual(s2.area(), 4)

        s3 = s(3, 6, 5)
        self.assertAlmostEqual(s3.area(), 9)
Esempio n. 4
0
    def test_dict(self):
        """ test """

        s1 = s(10, 2, 1)
        s1_d = s1.to_dictionary()
        m = "{'id': 1, 'x': 2, 'size': 10, 'y': 1} "
        self.assertAlmostEqual(len(str(s1_d)), len(m))
        self.assertAlmostEqual(str(type(s1_d)), "<class 'dict'>")
        s2 = s(1, 1)
        s2.update(**s1_d)
        self.assertFalse(s1 == s2)
        self.assertEqual(print(s1), print(s2))
Esempio n. 5
0
    def test_Display(self):
        """ test display """

        s1 = s(6)
        m = '######\n######\n######\n######\n######\n######\n'
        self.assertAlmostEqual(s1.display(), print(m))

        s2 = s(2, 3)
        m = '   ##\n   ##\n'
        self.assertAlmostEqual(s2.display(), print(m))

        s3 = s(3, 6, 5)
        m = '\n\n\n\n\n      ###\n      ###\n      ###\n'
        self.assertAlmostEqual(s3.display(), print(m))
Esempio n. 6
0
    def test_Str(self):
        """ str """

        s1 = s(5)
        m = '[Square] (1) 0/0 - 5'
        self.assertAlmostEqual(print(s1), print(m))

        s2 = s(2, 2)
        m = '[Square] (2) 2/0 - 2'
        self.assertAlmostEqual(print(s2), print(m))

        s3 = s(3, 1, 3)
        m = '[Square] (3) 1/3 - 3'
        self.assertAlmostEqual(print(s3), print(m))
    def test_presence(self):
        """Test Presence"""

        s_list = dir(s)
        self.assertIn("_Base__nb_objects", s_list)
        self.assertIn("__init__", s_list)
        self.assertIn("to_json_string", s_list)
        self.assertIn("save_to_file", s_list)
        self.assertIn("from_json_string", s_list)
        self.assertIn("create", s_list)
        self.assertIn("load_from_file", s_list)
        self.assertIn("width", s_list)
        self.assertIn("height", s_list)
        self.assertIn("x", s_list)
        self.assertIn("y", s_list)
        self.assertIn("size", s_list)
        self.assertIn("area", s_list)
        self.assertIn("display", s_list)
        self.assertIn("__str__", s_list)
        self.assertIn("update", s_list)
        self.assertIn("to_dictionary", s_list)

        s1_list = dir(s(1))
        self.assertIn("_Rectangle__width", s1_list)
        self.assertIn("_Rectangle__height", s1_list)
        self.assertIn("_Rectangle__x", s1_list)
        self.assertIn("_Rectangle__y", s1_list)
        self.assertIn("id", s1_list)
Esempio n. 8
0
    def test_Value(self):
        """ Error """

        with self.assertRaises(ValueError) as e:
            msg = 'width must be > 0'
            s1 = s(-12)

        with self.assertRaises(ValueError) as e:
            msg = 'y must be >= 0'
            s1 = s(10, 2, -6)

        with self.assertRaises(ValueError) as e:
            msg = 'x must be >= 0'
            s1 = s(12, -10, 6)

        self.assertAlmostEqual(msg, str(e.exception))
Esempio n. 9
0
    def test_Update(self):
        """ update """

        s1 = s(5)
        m = '[Square] (1) 0/0 - 5'
        self.assertAlmostEqual(print(s1), print(m))

        s1.update(10)
        m = '[Square] (10) 0/0 - 5'
        self.assertAlmostEqual(print(s1), print(m))

        s1.update(1, 2)
        m = '[Square] (1) 0/0 - 2'
        self.assertAlmostEqual(print(s1), print(m))

        s1.update(1, 2, 3)
        m = "[Square] (1) 3/0 - 2"
        self.assertAlmostEqual(print(s1), print(m))

        s1.update(1, 2, 3, 4)
        m = "[Square] (1) 3/4 - 2"
        self.assertAlmostEqual(print(s1), print(m))

        s1.update(x=12)
        m = "[Square] (1) 12/4 - 2"
        self.assertAlmostEqual(print(s1), print(m))

        s1.update(size=7, y=1)
        m = "[Square] (1) 12/1 - 7"
        self.assertAlmostEqual(print(s1), print(m))

        s1.update(size=7, id=89, y=1)
        m = "[Square] (89) 12/1 - 7"
        self.assertAlmostEqual(print(s1), print(m))
    def test_to_dictionary(self):
        """Test To Dictionary"""

        s1 = s(1, 1)
        s2 = s(1, 2, 5)
        s3 = s(2, 1)
        s4 = s(2, 1, id="HAHAHAHA")
        s5 = s(2, 2, 0, 1)
        s6 = s(2, 2, 2, 2)
        s7 = s(3, 3, 3, "MUHAHAHA")

        d1 = {'id': 1, 'size': 1, 'x': 1, 'y': 0}
        d2 = {'id': 2, 'size': 1, 'x': 2, 'y': 5}
        d3 = {'id': 3, 'size': 2, 'x': 1, 'y': 0}
        d4 = {'id': 'HAHAHAHA', 'size': 2, 'x': 1, 'y': 0}
        d5 = {'id': 1, 'size': 2, 'x': 2, 'y': 0}
        d6 = {'id': 2, 'size': 2, 'x': 2, 'y': 2}
        d7 = {'id': 'MUHAHAHA', 'size': 3, 'x': 3, 'y': 3}

        self.assertDictEqual(s1.to_dictionary(), d1)
        self.assertDictEqual(s2.to_dictionary(), d2)
        self.assertDictEqual(s3.to_dictionary(), d3)
        self.assertDictEqual(s4.to_dictionary(), d4)
        self.assertDictEqual(s5.to_dictionary(), d5)
        self.assertDictEqual(s6.to_dictionary(), d6)
        self.assertDictEqual(s7.to_dictionary(), d7)

        s6.update(**{'id': "WUT", "x": 999, "size": 23})
        d6 = {'id': 'WUT', 'size': 23, 'x': 999, 'y': 2}
        self.assertDictEqual(s6.to_dictionary(), d6)
    def test_str(self):
        """Test Str"""

        s1 = s(1)
        s2 = s(2, 5)
        s3 = s(2, 1)
        s4 = s(2, 1, id="HAHAHAHA")
        s5 = s(2, 0, 1)
        s6 = s(2, 2, 2)
        s7 = s(3, 3, 3, "MUHAHAHA")

        god_list = ['[Square] (1) 0/0 - 1\n',
                    '[Square] (2) 5/0 - 2\n',
                    '[Square] (3) 1/0 - 2\n',
                    '[Square] (HAHAHAHA) 1/0 - 2\n',
                    '[Square] (4) 0/1 - 2\n',
                    '[Square] (5) 2/2 - 2\n',
                    '[Square] (MUHAHAHA) 3/3 - 3\n']
        obj_list = [s1, s2, s3, s4, s5, s6, s7]
        out_list = []

        for obj in obj_list:
            capture = io.StringIO()
            sys.stdout = capture
            print(obj)
            sys.stdout = sys.__stdout__
            out_list.append(capture.getvalue())

        self.assertListEqual(god_list, out_list)
    def test_display(self):
        """Test Display"""

        s1 = s(1)
        s2 = s(2)
        s3 = s(3)
        s4 = s(2, 2, 1)
        s5 = s(2, 0, 1)
        s6 = s(2, 2, 2)
        s7 = s(3, 3, 3)

        god_list = ['#\n', '##\n##\n', '###\n###\n###\n',
                    '\n  ##\n  ##\n', '\n##\n##\n', '\n\n  ##\n  ##\n',
                    '\n\n\n   ###\n   ###\n   ###\n']
        obj_list = [s1, s2, s3, s4, s5, s6, s7]
        out_list = []

        for obj in obj_list:
            capture = io.StringIO()
            sys.stdout = capture
            obj.display()
            sys.stdout = sys.__stdout__
            out_list.append(capture.getvalue())

        self.assertListEqual(god_list, out_list)
Esempio n. 13
0
    def test_Size(self):
        """ test """

        s1 = s(5)
        m = '[Square] (1) 0/0 - 5'
        self.assertAlmostEqual(print(s1), print(m))
        self.assertAlmostEqual(s1.size, 5)

        s1.size = 10
        m = '[Square] (1) 0/0 - 10'
        self.assertAlmostEqual(print(s1), print(m))
        self.assertAlmostEqual(s1.size, 10)
Esempio n. 14
0
    def test_Init(self):
        """ test value  """

        self.assertTrue(issubclass(s, r))

        s1 = s(6)
        self.assertAlmostEqual(s1.x, 0)
        self.assertAlmostEqual(s1.y, 0)
        self.assertAlmostEqual(s1.width, 6)
        self.assertAlmostEqual(s1.height, 6)

        s2 = s(2, 3)
        self.assertAlmostEqual(s2.y, 0)
        self.assertAlmostEqual(s2.x, 3)
        self.assertAlmostEqual(s2.width, 2)
        self.assertAlmostEqual(s2.height, 2)

        s3 = s(3, 6, 5, 12)
        self.assertAlmostEqual(s3.id, 12)
        self.assertAlmostEqual(s3.x, 6)
        self.assertAlmostEqual(s3.y, 5)
        self.assertAlmostEqual(s3.width, 3)
        self.assertAlmostEqual(s3.height, 3)
    def test_update(self):
        """Test Update"""

        s1 = s(1)
        s2 = s(2, 5)
        s3 = s(2, 1)
        s4 = s(2, 1, id="HAHAHAHA")
        s5 = s(2, 0, 1)
        s6 = s(2, 2, 2)
        s7 = s(3, 3, 3, "MUHAHAHA")

        s1.update(34, 64, 12, 64)
        with self.assertRaises(ValueError):
            s2.update(**{'id': 234, 'y': -5})
        s3.update(None, 20, 590)
        s4.update(**{'id': 234, 'height': 64})
        with self.assertRaises(TypeError):
            s5.update(98, {'width': 236, 'y': 98})
        with self.assertRaises(TypeError):
            s6.update("JJJJ", 'L')
        s7.update()

        god_list = ['[Square] (34) 12/64 - 64\n',
                    '[Square] (234) 5/0 - 2\n',
                    '[Square] (6) 590/0 - 20\n',
                    '[Square] (234) 1/0 - 2\n',
                    '[Square] (98) 0/1 - 2\n',
                    '[Square] (JJJJ) 2/2 - 2\n',
                    '[Square] (MUHAHAHA) 3/3 - 3\n']
        obj_list = [s1, s2, s3, s4, s5, s6, s7]
        out_list = []

        for obj in obj_list:
            capture = io.StringIO()
            sys.stdout = capture
            print(obj)
            sys.stdout = sys.__stdout__
            out_list.append(capture.getvalue())

        self.assertListEqual(god_list, out_list)
    def test_instance(self):
        """Test Instance"""

        s1 = s(1, 1)
        self.assertEqual(b._Base__nb_objects, 1)

        with self.assertRaises(ValueError):
            s(-1, 1, 1)
        with self.assertRaises(ValueError):
            s(0, 1, 1)
        with self.assertRaises(TypeError):
            s("A", 1, 1)
        with self.assertRaises(TypeError):
            s(1.1, 1, 1)
        with self.assertRaises(TypeError):
            s(None, 1, 1)
        with self.assertRaises(TypeError):
            s(True, 1, 1)
        with self.assertRaises(TypeError):
            s(False, 1, 1)

        self.assertEqual(b._Base__nb_objects, 1)

        with self.assertRaises(ValueError):
            s(1, -1, 1)
        with self.assertRaises(TypeError):
            s(1, "A", 1)
        with self.assertRaises(TypeError):
            s(1, 1.1, 1)
        with self.assertRaises(TypeError):
            s(1, None, 1)
        with self.assertRaises(TypeError):
            s(1, True, 1)
        with self.assertRaises(TypeError):
            s(1, False, 1)

        self.assertEqual(b._Base__nb_objects, 1)

        with self.assertRaises(ValueError):
            s(1, 1, -1)
        with self.assertRaises(TypeError):
            s(1, 1, "A")
        with self.assertRaises(TypeError):
            s(1, 1, 1.1)
        with self.assertRaises(TypeError):
            s(1, 1, None)
        with self.assertRaises(TypeError):
            s(1, 1, True)
        with self.assertRaises(TypeError):
            s(1, 1, False)

        self.assertEqual(b._Base__nb_objects, 1)