def testSaveRectsToFile(self):
     """ tests saving multiple rectangles to a file
     """
     r = Rectangle(2, 2, 2, 2)
     Rectangle.save_to_file([self.rect, r])
     with open("Rectangle.json") as f:
         self.assertEqual(len(json.load(f)), 2)
    def test_load_from_file_one(self):
        """ Test if load_from_file works with Rectangle
        """

        Base._Base__nb_objects = 0

        capturedOutput1 = io.StringIO()
        sys.stdout = capturedOutput1

        r1 = Rectangle(10, 7, 2, 8)
        list_rectangles_input = [r1]

        Rectangle.save_to_file(list_rectangles_input)

        list_rectangles_output = Rectangle.load_from_file()

        for rect in list_rectangles_output:
            print(rect)

        expected = "[Rectangle] (1) 2/8 - 10/7\n"

        self.assertEqual(capturedOutput1.getvalue(), expected)

        os.remove("./Rectangle.json")
        sys.stdout = sys.__stdout__
 def test_d_string_to_file(self):
     """test_string_to_file method"""
     r1 = Rectangle(10, 7, 2, 8, 1)
     r2 = Rectangle(2, 4, id=1)
     Rectangle.save_to_file([r1, r2])
     with open("Rectangle.json", "w+") as f:
         self.assertTrue(type(f.read()) == str)
         f.seek(0)
     s1 = Square(10, 2, 8, 1)
     s2 = Square(2, id=1)
     Square.save_to_file([s1, s2])
     with open("Square.json", "w+") as f:
         self.assertTrue(type(f.read()) == str)
         f.seek(0)
     Rectangle.save_to_file(None)
     with open("Rectangle.json", "w+") as f:
         strrd = f.read()
         self.assertTrue(type(strrd) == str)
         CO = io.StringIO()
         sys.stdout = CO
         print(strrd)
         self.assertEqual(CO.getvalue(), "\n")
         sys.stdout = sys.__stdout__
     Square.save_to_file(None)
     with open("Square.json", "w+") as f:
         strrd = f.read()
         self.assertTrue(type(strrd) == str)
         CO = io.StringIO()
         sys.stdout = CO
         print(strrd)
         self.assertEqual(CO.getvalue(), "\n")
         sys.stdout = sys.__stdout__
예제 #4
0
 def test_rectangle(self):
     """ Check if file is created with correct name """
     name = "Rectangle.json"
     r1 = Rectangle(10, 7, 2, 8)
     r2 = Rectangle(2, 4)
     Rectangle.save_to_file([r1, r2])
     self.assertTrue(path.isfile(name))
예제 #5
0
 def test_json_str_to_file_1(self):
     """test jason str to file"""
     Base._Base__nb_objects = 0
     Rectangle.save_to_file(None)
     with open("Rectangle.json", "r") as file:
         string = file.read()
     self.assertEqual(string, '[]')
예제 #6
0
 def test_load_from_file(self):
     """test load_from_file method"""
     """Rectangle"""
     Base._Base__nb_objects = 0
     r1 = Rectangle(10, 7, 2, 8)
     r2 = Rectangle(2, 4)
     list_rect_input = [r1, r2]
     Rectangle.save_to_file(list_rect_input)
     list_rect_output = Rectangle.load_from_file()
     self.assertNotEqual(id(list_rect_input[0]), id(list_rect_output[0]))
     self.assertNotEqual(id(list_rect_input[1]), id(list_rect_output[1]))
     self.assertNotEqual(id(list_rect_output[0]), id(list_rect_output[1]))
     self.assertEqual(list_rect_output[0].__str__(),
                      "[Rectangle] (1) 2/8 - 10/7")
     self.assertEqual(list_rect_output[1].__str__(),
                      "[Rectangle] (2) 0/0 - 2/4")
     """square"""
     s1 = Square(5)
     s2 = Square(7, 9, 1)
     list_sq_input = [s1, s2]
     Square.save_to_file(list_sq_input)
     list_sq_output = Square.load_from_file()
     self.assertNotEqual(id(list_sq_input[0]), id(list_sq_output[0]))
     self.assertNotEqual(id(list_sq_input[1]), id(list_sq_output[1]))
     self.assertNotEqual(id(list_sq_output[0]), id(list_sq_output[1]))
     self.assertEqual(list_sq_output[0].__str__(), "[Square] (5) 0/0 - 5")
     self.assertEqual(list_sq_output[1].__str__(), "[Square] (6) 9/1 - 7")
 def test_33a_save_to_file_no_args(self):
     """Test for no args in save_to_file"""
     with self.assertRaises(TypeError) as e:
         Rectangle.save_to_file()
     self.assertEqual("save_to_file() missing 1 required positional" +
             " argument: 'list_objs'",
             str(e.exception))
예제 #8
0
 def test_sumin(self):
     """ omg i have to test if it woprks """
     Rectangle.save_to_file(None)
     with open("Rectangle.json", mode="r", encoding='utf-8') as f:
         l = f.read()
     l2 = "[]"
     self.assertEqual(l, l2)
예제 #9
0
 def testsavetofile3(self):
     r1 = Rectangle(1, 2)
     Rectangle.save_to_file([r1])
     res = '[{"x": 0, "y": 0, "id": 24, "height": 2, "width": 1}]'
     with open("Rectangle.json", "r") as file:
         res2 = file.read()
         self.assertEqual(len(res2), len(res))
 def test_save_to_file_empty(self):
     """ Test the save_to_file with empty list and None. """
     r1 = Rectangle(1, 1)
     if os.path.isfile("Rectangle.json"):
         os.remove("Rectangle.json")
     r1.save_to_file([])
     self.assertTrue(os.path.isfile("Rectangle.json"))
예제 #11
0
 def test_checker3(self):
     """ checks none for save to file error """
     test1 = Rectangle.save_to_file(None)
     self.assertEqual(test1, None)
     self.assertFalse(test1)
     test2 = Rectangle.save_to_file([])
     self.assertEqual(test2, None)
예제 #12
0
 def test_12_save_file_rect(self):
     """
     Test save_to_file() method of Rectangle to serialize
     and write to a file. Removes file after test if test
     was able to write to disk.
     """
     Base._Base__nb_objects = 0
     R1 = Rectangle(10, 7, 2, 8)
     R2 = Rectangle(2, 4)
     Rectangle.save_to_file([R1, R2])
     self.assertTrue(os.path.exists("Rectangle.json"), True)
     with open("Rectangle.json", mode='r') as myFile:
         self.assertEqual(
             json.loads(myFile.read()),
             json.loads('[{"y": 8, '
                        '"x": 2, '
                        '"id": 1, '
                        '"width": 10, '
                        '"height": 7}, '
                        '{"y": 0, '
                        '"x": 0, '
                        '"id": 2, '
                        '"width": 2, '
                        '"height": 4}]'))
     os.remove("Rectangle.json")
 def test_rectangle_to_file(self):
     '''
     Rectangle save_to_file method
     '''
     Rectangle.save_to_file([])
     with open('Rectangle.json') as f:
         self.assertEqual(f.read(), '[]')
 def testLoadNothingFromFile(self):
     """ tests loading an empty list from a file
     """
     elist = []
     Rectangle.save_to_file(elist)
     r = Rectangle.load_from_file()
     self.assertEqual(elist, r)
    def test_sumin1(self):

        Rectangle.save_to_file([])
        with open("Rectangle.json", mode="r", encoding='utf-8') as f:
            l = f.read()
        l2 = '[]'
        self.assertEqual(l, l2)
 def test_loadFromFileTooManyArgs(self):
     """Test too many args"""
     r1 = Rectangle(10, 7, 2, 8)
     r2 = Rectangle(2, 4)
     list_rectangles_input = [r1, r2]
     Rectangle.save_to_file(list_rectangles_input)
     self.assertRaises(TypeError, Rectangle.load_from_file, 1)
예제 #17
0
    def test_base_load_from_file(self):
        l = Rectangle.load_from_file()
        self.assertEqual(l, [])

        l = Square.load_from_file()
        self.assertEqual(l, [])

        r1 = Rectangle(3, 1)
        r2 = Rectangle(1, 2)
        Rectangle.save_to_file([r1, r2])
        list_objects = Rectangle.load_from_file()
        self.assertTrue(all(o.id in [r1.id, r2.id] for o in list_objects))

        s1 = Square(5)
        s2 = Square(7, 9, 1)
        Square.save_to_file([s1, s2])
        list_objects = Square.load_from_file()
        self.assertTrue(all(o.id in [s1.id, s2.id] for o in list_objects))

        Rectangle.save_to_file([s1, r1, s2, r2])
        l = Rectangle.load_from_file()
        self.assertTrue(all(o.id in [s1.id, r1.id, s2.id, r2.id] for o in l))

        with self.assertRaises(TypeError):
            Base.load_from_file("no needed")

        os.remove("Rectangle.json")
        os.remove("Square.json")
    def testSave(self):
        """test save to file method"""
        try:
            os.remove("Rectangle.json")
        except FileNotFoundError:
            pass
        try:
            os.remove("Square.json")
        except FileNotFoundError:
            pass
        r1 = Rectangle(1, 2, 3, 4)
        r2 = Rectangle(5, 5, 0, 0)
        Rectangle.save_to_file([r1, r2])
        self.assertTrue(os.access("Rectangle.json", os.F_OK))
        self.assertNotEqual(os.path.getsize("Rectangle.json"), 2)
        Rectangle.save_to_file(None)
        self.assertEqual(os.path.getsize("Rectangle.json"), 2)

        s1 = Square(2, 0, 0, 1)
        s2 = Square(3, 0, 0, 2)
        s3 = Square(5, 0, 0, 3)
        Square.save_to_file([s1, s2, s3])
        self.assertTrue(os.access("Square.json", os.F_OK))
        self.assertNotEqual(os.path.getsize("Square.json"), 2)
        Square.save_to_file(None)
        self.assertEqual(os.path.getsize("Square.json"), 2)
예제 #19
0
    def test_save_to_file_rectangle(self):
        """test save to file method"""
        Base._Base__nb_objects = 0
        r1 = Rectangle(10, 7, 2, 8)
        r2 = Rectangle(2, 4)
        Rectangle.save_to_file([r1, r2])
        with open("Rectangle.json", "r") as file:
            data = file.read()
        expectData = [{
            "y": 8,
            "x": 2,
            "id": 1,
            "width": 10,
            "height": 7
        }, {
            "y": 0,
            "x": 0,
            "id": 2,
            "width": 2,
            "height": 4
        }]
        list_dict = json.loads(data)
        self.assertDictEqual(list_dict[0], expectData[0])
        self.assertDictEqual(list_dict[1], expectData[1])

        Rectangle.save_to_file(None)
        with open("Rectangle.json", "r") as file:
            data = file.read()
        expectData = "[]"
        self.assertEqual(data, expectData)
예제 #20
0
 def test_sav_file1(self):
     """This will test the class rectangle"""
     a = Rectangle(1, 2, 3, 4)
     b = Rectangle(1, 2, 3, 4)
     b.save_to_file([])
     self.assertIsNotNone(b)
     self.assertIsNotNone(a)
예제 #21
0
 def test_checkNoneRec(self):
     """ Checks Contents """
     name = "Rectangle.json"
     Rectangle.save_to_file(None)
     with open(name, "r") as myfile:
         r = myfile.read()
         self.assertEqual(r, '[]')
    def test_empty(self):
        """Empty file"""
        filename = "Rectangle.json"
        if os.path.isfile(filename):
            os.remove(filename)
        Rectangle.save_to_file(None)
        with open("Rectangle.json", "r") as f:
            self.assertEqual(f.read(), "[]")

        filename = "Square.json"
        if os.path.isfile(filename):
            os.remove(filename)

        Square.save_to_file(None)
        with open("Square.json", "r") as f:
            self.assertEqual(f.read(), "[]")

        filename = "Rectangle.json"
        if os.path.isfile(filename):
            os.remove(filename)

        Rectangle.save_to_file([])
        with open("Rectangle.json", "r") as f:
            self.assertEqual(f.read(), "[]")

        filename = "Square.json"
        if os.path.isfile(filename):
            os.remove(filename)

        Square.save_to_file([])
        with open("Square.json", "r") as f:
            self.assertEqual(f.read(), "[]")
예제 #23
0
    def test_10_load_from_file(self):
        """Tests if the method load from file is returning correctly
        if the file does not exist, it should return an empty list
        """

        os.remove('Rectangle.json')
        new_list_objects = Rectangle.load_from_file()
        self.assertEqual(new_list_objects, [])

        os.remove('Square.json')
        new_list_objects = Square.load_from_file()
        self.assertEqual(new_list_objects, [])

        os.remove('Base.json')
        new_list_objects = Base.load_from_file()
        self.assertEqual(new_list_objects, [])

        s1 = Square(100)
        Square.save_to_file([s1])
        list_Square = Square.load_from_file()
        self.assertTrue(type(list_Square), list)
        self.assertTrue(type(list_Square[0]), Square)
        self.assertEqual(list_Square[0].size, 100)
        self.assertEqual(list_Square[0].width, 100)
        self.assertEqual(list_Square[0].height, 100)
        self.assertEqual(list_Square[0].x, 0)
        self.assertEqual(list_Square[0].y, 0)

        r1 = Rectangle(4, 5, 1, 1, 89)
        Rectangle.save_to_file([r1])
        list_Rectangle = Rectangle.load_from_file()
        self.assertTrue(type(list_Rectangle), list)
        self.assertTrue(type(list_Rectangle[0]), Rectangle)
        self.assertEqual(list_Rectangle[0].width, 4)
        self.assertEqual(list_Rectangle[0].height, 5)
        self.assertEqual(list_Rectangle[0].x, 1)
        self.assertEqual(list_Rectangle[0].y, 1)
        self.assertEqual(list_Rectangle[0].id, 89)

        with self.assertRaises(TypeError):
            Rectangle.load_from_file(1)
        with self.assertRaises(TypeError):
            Square.load_from_file([])
        r1 = Rectangle(5, 6, 2, 2, 90)
        r2 = Rectangle(2, 3, 0, 0, 70)
        Rectangle.save_to_file([r1, r2])
        list_Rectangle = Rectangle.load_from_file()
        self.assertTrue(type(list_Rectangle), list)
        self.assertTrue(type(list_Rectangle[0]), Rectangle)
        self.assertEqual(list_Rectangle[0].width, 5)
        self.assertEqual(list_Rectangle[0].height, 6)
        self.assertEqual(list_Rectangle[0].x, 2)
        self.assertEqual(list_Rectangle[0].y, 2)
        self.assertEqual(list_Rectangle[0].id, 90)
        self.assertTrue(type(list_Rectangle[1]), Rectangle)
        self.assertEqual(list_Rectangle[1].width, 2)
        self.assertEqual(list_Rectangle[1].height, 3)
        self.assertEqual(list_Rectangle[1].x, 0)
        self.assertEqual(list_Rectangle[1].y, 0)
        self.assertEqual(list_Rectangle[1].id, 70)
 def test_file_exists(self):
     """test file"""
     file = "Rectangle.json"
     r1 = Rectangle(10, 7, 2, 8)
     r2 = Rectangle(2, 4)
     Rectangle.save_to_file([r1, r2])
     self.assertTrue(os.path.isfile(file))
    def test_save_to_file_AND_load_from_file(self):
        list_rectangles_input = [self.r1, self.r3]

        Rectangle.save_to_file(list_rectangles_input)
        self.assertTrue(os.path.isfile('Rectangle.json'))
        with open('Rectangle.json', 'r') as f:
            r_total = sum(1 for _ in f)
        self.assertGreater(r_total, 0)
        list_rectangles_output = Rectangle.load_from_file()

        for rect in list_rectangles_input:
            self.assertIsInstance(rect, Rectangle)

        for rect in list_rectangles_output:
            self.assertIsInstance(rect, Rectangle)

        list_squares_input = [self.s1, self.s2]

        Square.save_to_file(list_squares_input)
        self.assertTrue(os.path.isfile('Square.json'))

        with open('Square.json', 'r') as f:
            s_total = sum(1 for _ in f)
        self.assertGreater(s_total, 0)
        list_squares_output = Square.load_from_file()

        for square in list_squares_input:
            self.assertIsInstance(square, Square)

        for square in list_squares_output:
            self.assertIsInstance(square, Square)

        Base._Base__nb_objects -= 4
    def test_save_to_file(self):
        r1 = Rectangle(10, 7, 2, 8)
        r2 = Rectangle(2, 4)
        Rectangle.save_to_file([r1, r2])

        s1 = Square(6, 5, 3)
        s2 = Square(9)
        Rectangle.save_to_file([r1, r2])
        self.assertTrue(path.isfile('Rectangle.json'))
        self.assertTrue(path.isfile('Square.json'))

        contenido3 = []
        Base.save_to_file(None)
        with open("Base.json", encoding="utf-8") as Myfile2:
            contenido3 = Myfile2.read()
        contenido3_dict = json.loads(contenido3)
        j3_string = []
        self.assertEqual(contenido3_dict, j3_string)

        contenido4 = []
        Base.save_to_file("")
        with open("Base.json", encoding="utf-8") as Myfile3:
            contenido4 = Myfile3.read()
        contenido4_dict = json.loads(contenido4)
        j4_string = []
        self.assertEqual(contenido4_dict, j4_string)
    def test_save_to_file_one(self):
        """ Test if save_to_file method works
        """

        r1 = Rectangle(10, 7, 2, 8, 50)
        s1 = Square(8, 2, 3, 60)
        r1_dictionary = [{"y": 8, "x": 2, "id": 50, "width": 10, "height": 7}]
        s1_dictionary = [{"id": 60, "y": 3, "x": 2, "size": 8}]

        Rectangle.save_to_file([r1])
        Square.save_to_file([s1])

        with open("Rectangle.json", "r") as file1:
            r1_file_dict = file1.read()

        with open("Square.json", "r") as file2:
            s1_file_dict = file2.read()

        r1_file_dict = json.loads(r1_file_dict)
        s1_file_dict = json.loads(s1_file_dict)

        self.assertEqual(r1_file_dict, r1_dictionary)
        self.assertEqual(s1_file_dict, s1_dictionary)

        os.remove("./Rectangle.json")
        os.remove("./Square.json")
    def test_checker3(self):

        test1 = Rectangle.save_to_file(None)
        self.assertEqual(test1, None)
        self.assertFalse(test1)
        test2 = Rectangle.save_to_file([])
        self.assertEqual(test2, None)
 def test_json_file_none(self):
     """
     Test to check from none empty
     """
     Rectangle.save_to_file(None)
     with open("Rectangle.json", mode="r") as myFile:
         self.assertEqual([], json.load(myFile))
 def test_load_from_file_first_rectangle(self):
     """ Test First rectangle """
     r_test = Rectangle(10, 7, 2, 8, 1)
     r_test2 = Rectangle(2, 4, 5, 6, 2)
     Rectangle.save_to_file([r_test, r_test2])
     list_rectangles_output = Rectangle.load_from_file()
     self.assertEqual(str(r_test), str(list_rectangles_output[0]))