def process_data(self, line): form = line.split()[0] value = Decimal(line.split()[1]) self.obj = {} self.obj["form"] = form if form == "s": self.form = Square() elif form == "c": self.form = Circle() area = self.form.calc_area(value) self.obj["area"] = area self.output.append(self.obj)
def __init__(self): self.circle = Circle() self.testdata = [ { "size": "0", "area": "0" }, { "size": "1", "area": "0.7853981633974483" }, { "size": "2", "area": "3.141592653589793" }, { "size": "3", "area": "7.0685834705770345" }, { "size": "4", "area": "12.566370614359172" }, ]
class InFileOperations: def __init__(self): path = os.getcwd() self.INFILE_PATH = path + "\\..\\data\\001-beginners.csv" self.inFile = None self.obj = {} self.form = None self.output = [] def open_file(self): try: self.inFile = open(self.INFILE_PATH, "r") except IOError as ioe: raise AreaException("Unable to open file " + self.INFILE_PATH + "\n" + ioe) def process_data(self, line): form = line.split()[0] value = Decimal(line.split()[1]) self.obj = {} self.obj["form"] = form if form == "s": self.form = Square() elif form == "c": self.form = Circle() area = self.form.calc_area(value) self.obj["area"] = area self.output.append(self.obj) def read_file(self): try: self.open_file() for line in self.inFile: print(line) self.process_data(line) except IOError as ioe: raise AreaException("Unable to read from file " + self.INFILE_PATH + "\n" + ioe) finally: try: self.inFile.close() except IOError: pass def get_output(self): return self.output
class TestCircle(ITest): def __init__(self): self.circle = Circle() self.testdata = [ { "size": "0", "area": "0" }, { "size": "1", "area": "0.7853981633974483" }, { "size": "2", "area": "3.141592653589793" }, { "size": "3", "area": "7.0685834705770345" }, { "size": "4", "area": "12.566370614359172" }, ] def test(self): test_nbr = 0 for row in self.testdata: result = "failed" test_nbr += 1 rib_size = row["size"] area_size = row["area"] calc_area = self.circle.calc_area(Decimal(rib_size)) if area_size == str(calc_area): result = "passed" else: result = "wrong" print("\nTest: " + str(test_nbr) + "\nRib size: " + str(rib_size)) print("Calculated value of area: " + str(calc_area) + " - value should be: " + str(area_size)) print("Test " + result)
def calculate_area(circle: Circle): area = circle.get_circle_radius()**2 return area
def update_circle(self, circle_id, new_abscissa, new_ordinate, new_radius): circle = Circle(circle_id, new_abscissa, new_ordinate, new_radius) self.__circle_validator.validate_circle(circle) self.__circle_repository.update(circle)
def add_circle(self, circle_id, abscissa, ordinate, radius): circle = Circle(circle_id, abscissa, ordinate, radius) self.__circle_validator.validate_circle(circle) self.__circle_repository.create(circle)
def validate_circle(self, circle: Circle): if circle.get_circle_radius() <= 0: raise InvalidRadiusException("Radius must be a positive number")