def test_save_to_file_csv_two_rectangles(self): r1 = Rectangle(10, 7, 2, 8, 5) r2 = Rectangle(2, 4, 1, 2, 3) Rectangle.save_to_file_csv([r1, r2]) with open("Rectangle.csv", "r") as f: self.assertTrue("5,10,7,2,8\n2,4,1,2,3", f.read())
def test_load_from_file_csv_rectangle_types(self): r1 = Rectangle(10, 7, 2, 8, 1) r2 = Rectangle(2, 4, 5, 6, 2) Rectangle.save_to_file_csv([r1, r2]) output = Rectangle.load_from_file_csv() self.assertTrue(all(type(obj) == Rectangle for obj in output))
def test_save_to_file_csv_one_rectangle(self): r = Rectangle(10, 7, 2, 8, 5) Rectangle.save_to_file_csv([r]) with open("Rectangle.csv", "r") as f: self.assertTrue("5,10,7,2,8", f.read())
def test_save_to_file_csv_no_args(self): with self.assertRaises(TypeError): Rectangle.save_to_file_csv()
def test_load_from_file_csv_second_rectangle(self): r1 = Rectangle(10, 7, 2, 8, 1) r2 = Rectangle(2, 4, 5, 6, 2) Rectangle.save_to_file_csv([r1, r2]) list_rectangles_output = Rectangle.load_from_file_csv() self.assertEqual(str(r2), str(list_rectangles_output[1]))
def test_load_from_file_csv_first_rectangle(self): r_test = Rectangle(10, 7, 2, 8, 1) r_test = Rectangle(2, 4, 5, 6, 2) Rectangle.save_to_file_csv([r_test, r_test]) list_rectangles_output = Rectangle.load_from_file_csv() self.assertEqual(str(r_test), str(list_rectangles_output[0]))
""" 100-main """ import sys import os sys.path.append(os.path.abspath('..')) from models.rectangle import Rectangle from models.square import Square if __name__ == "__main__": r1 = Rectangle(10, 7, 2, 8) r2 = Rectangle(2, 4) list_rectangles_input = [r1, r2] Rectangle.save_to_file_csv(list_rectangles_input) list_rectangles_output = Rectangle.load_from_file_csv() for rect in list_rectangles_input: print("[{}] {}".format(id(rect), rect)) print("---") for rect in list_rectangles_output: print("[{}] {}".format(id(rect), rect)) print("---") print("---") s1 = Square(5)
def test_rectangle_save_empty_csv_file(self): Rectangle.save_to_file_csv([]) out = Rectangle.load_from_file_csv() self.assertEqual(out, [])
def test_save_to_file_csv_one_rectangle(self): """ Test save to file csv rectangle """ r_test = Rectangle(10, 7, 2, 8, 5) Rectangle.save_to_file_csv([r_test]) with open("Rectangle.csv", "r") as f: self.assertTrue("5,10,7,2,8", f.read())
def test_save_empty_csv_file(self): """check if save work with empty csv""" Rectangle.save_to_file_csv(None) list_rectangles_output = Rectangle.load_from_file_csv() self.assertEqual(list_rectangles_output, [])
from models.rectangle import Rectangle from models.base import Base import os import random file_path = "Rectangle.csv" if os.path.exists(file_path): os.remove(file_path) list_objs = [] for i in range(0, 5): list_objs.append( Rectangle(random.randrange(1, 100, 2), random.randrange(1, 100, 2), random.randrange(1, 100, 2), random.randrange(1, 100, 2))) Rectangle.save_to_file_csv(list_objs) if not os.path.exists(file_path): print("save_to_file_csv doesn't save to disk the list of Rectangle") exit(1) list_objs_res = Rectangle.load_from_file_csv() if list_objs_res is None: print("load_from_file_csv doesn't return a list") exit(1) if len(list_objs_res) != len(list_objs): print("load_from_file_csv doesn't return a list") exit(1)
def test_save_to_file_csv_too_many_args(self): with self.assertRaises(TypeError): Rectangle.save_to_file_csv([], 42)
def test_to_json_string_csv_multiple_rectangles(self): r1 = Rectangle(2, 4, 1, 2, 42) r2 = Rectangle(4, 2, 2, 1, 24) Rectangle.save_to_file_csv([r1, r2]) with open("Rectangle.csv", 'r') as f: self.assertEqual(f.read(), '42,2,4,1,2\n24,4,2,2,1\n')
def test_save_to_file_csv_basic_rectangle(self): r = Rectangle(2, 4, 1, 2, 42) Rectangle.save_to_file_csv([r]) with open("Rectangle.csv", 'r') as f: self.assertEqual(f.read(), '42,2,4,1,2\n')