def parse(self, file_name: str, format_: str, true_path: bool = True, circuit: cir.Circuit = None) -> cir.Circuit: """ Takes inn a file and appends it to a given circuit. If the file is in the data folder the filename can be given only with the name of the file. This function can parse tsv and xml formats. :param str file_name: Source file :param str format_: Format of file. Accepts "tsv" and "xml". :param bool true_path: Boolean value to indicate if object is in data folder. :param cir.Circuit circuit: Given circuit to append. Default creates new circuit. :return: Return a circuit with appended file content. :rtype: cir.Circuit :raises Exception: Invalid format. """ if not circuit: circuit = cir.Circuit() if not true_path: file_name = pf.PathFinder.get_file_path(file_name=file_name, folder_name="data") with fh.File(file_name, "r") as file_source: if format_ == "tsv": return self._tsv_parser(file_source, circuit) elif format_ == "xml": return self._xml_parser(file_source, circuit) elif format_ == "csv": self.separator = "," return self._tsv_parser(file_source, circuit) else: raise Exception("Invalid format")
def test__init__(self): circuit = cir.Circuit() self.assertEqual(circuit.canvas, []) self.assertTrue(circuit._validness) self.assertIsNone(circuit._height) self.assertEqual(circuit._inside_diameter, 0.0) # Extra for good measure self.assertIs(type(circuit._inside_diameter), float) self.assertIsInstance(circuit.canvas, list)
def example_circuit() -> cir.Circuit: circuit = cir.Circuit() circuit.add_tank("TI") circuit.add_straight_pipe("P1", 0.32, 10, 0) circuit.add_pump("Pu1", 0.76) circuit.add_straight_pipe("P2", 0.32, 10, 0) circuit.add_valve("V1", False) circuit.add_bend_pipe("B1", 0.32) circuit.add_straight_pipe("P3", 0.32, 6, 90) circuit.add_valve("V2", True) circuit.add_bend_pipe("B2", 0.32) circuit.add_straight_pipe("P4", 0.32, 10, 0) circuit.add_filter("F1", True) circuit.add_straight_pipe("P5", 0.32, 10, 0) circuit.add_tank("TE") circuit.name = "Some_name" return circuit
def setUp(self) -> None: self.parser = par.Parser() self.circuit = cir.Circuit()
def test_add_part(self): circuit = cir.Circuit() part_pipe_list_str = ["pipe", "Pipe_name_tester", "6", "0.1", "0"] circuit.add_part_from_string(part_pipe_list_str) self.assertIsInstance(circuit[0], cir.PipeStraight)
def setUp(self) -> None: self.circuit = cir.Circuit() self.parser = pars.Parser() self.controller = circ.CircuitControl()