def test_cable_with_connector(): haus = ( simple_haus.HausCreator() .geschoss() .wall(0, 0, 40, 400) .wall(0, 0, 400, 40) .wall(360, 0, 40, 400) .con(0, 250, 0, 400, 0, 0) .room() .Steckdose(40, 200) .Steckdose(360, 200) .get_house() ) haus2 = copy.deepcopy(haus) create_nodes_from_walls(haus) assert len(haus.nodes) == 12 associate_objects_to_walls_and_nodes(haus) assert len(haus.nodes) == 12 + 3 * 2 autogenerate_kabel(haus) assert len(haus.kabel) == 1 calc_wires(haus) assert haus.kabel[-1].length > 7.9 create_nodes_from_walls(haus2) associate_objects_to_walls_and_nodes(haus2) autogenerate_kabel(haus2) create_nodes_from_connectors(haus2) assert len(haus2.nodes) == 12 + 3 * 2 + 2 calc_wires(haus2) assert haus2.kabel[-1].length < 7.9
def test_simple_haus_kabel(): haus = Haus() yaml = simple_haus.define_testcase() read_struktur(haus, yaml["struktur"]) read_anschluesse(haus, yaml["anschluesse"]) read_kabel(haus, yaml["kabel"]) autogenerate_kabel(haus) create_nodes_from_walls(haus) create_nodes_from_connectors(haus) associate_objects_to_walls_and_nodes(haus) calc_wires(haus) create_roombook(haus) assert len(haus.kabel) == 7 # explicit cable assert haus.kabel[0].start == "1.1.1" assert len(haus.kabel[0].end) == 3 assert haus.kabel[0].end[0] == "2.2.3" assert haus.kabel[0].end[1] == "2.2.4" assert haus.kabel[0].end[2] == "2.2.5" assert haus.kabel[0].length == approx(9.4) # impicit definde cabels assert haus.kabel[1].start == "1.1.1" assert len(haus.kabel[1].end) == 1 assert haus.kabel[1].end[0] == "1.1.2" assert haus.kabel[1].type == KabelType.NYM5x15 assert haus.kabel[1].length == approx(3.4) assert haus.kabel[2].length == approx(3.6) assert haus.kabel[3].end[0] == "2.1.1" # directly above it assert haus.kabel[3].length == approx(2.8) assert haus.kabel[4].length == approx(5.6)
def test_single_wall_kabel(): haus = Haus() yaml = simple_haus.single_wall() read_struktur(haus, yaml["struktur"]) read_anschluesse(haus, yaml["anschluesse"]) create_nodes_from_walls(haus) associate_objects_to_walls_and_nodes(haus) autogenerate_kabel(haus, False) calc_wires(haus)
def test_fully_house(): yaml_file = "data/setup.yaml" haus = read_setup(yaml_file) # haus.geschosse[0].nodes[0].connect(haus.geschosse[1].nodes[0]) # haus.geschosse[1].nodes[0].connect(haus.geschosse[2].nodes[0]) associate_objects_to_walls_and_nodes(haus) # # create_roombook(haus) # calc_wires(haus)
def test_autogenerate_kabels(): haus = Haus() yaml = simple_haus.define_testcase() yaml["anschluesse"] = { "geschosse": [ { "id": 1, "name": "G1", "rooms": [ { "id": 1, "name": "R11", "objects": [ { "id": 1, "name": "O111", "con-type": "steckdose", "anzahl": 1, "pos": {"hori": [20, 150], "vert": "oben"}, }, { "id": 2, "name": "O112", "con-type": "knx", "knx-component": "gt", "pos": {"hori": [200, 20], "vert": "oben"}, }, { "id": 3, "name": "O113", "con-type": "knx", "knx-component": "pm", "pos": {"hori": [350, 20], "vert": "oben"}, }, ], } ], } ] } yaml["kabel"] = {"kabel": []} read_struktur(haus, yaml["struktur"]) read_anschluesse(haus, yaml["anschluesse"]) read_kabel(haus, yaml["kabel"]) autogenerate_kabel(haus, False) calc_wires(haus) create_roombook(haus) assert len(haus.kabel) == 2 assert haus.kabel[0].length == approx(1.30 + 1.80) assert haus.kabel[1].length == approx(1.30 + 3.30)
def test_autogen_kabel_with_astar_len_calc(): haus = Haus() yaml = simple_haus.define_testcase() read_struktur(haus, yaml["struktur"]) read_anschluesse(haus, yaml["anschluesse"]) # read_kabel(haus,yaml["kabel"]) autogenerate_kabel(haus) create_nodes_from_walls(haus) assert len(haus.nodes) == 8 + 16 haus.geschosse[0].nodes[4].connect(haus.geschosse[1].nodes[0]) associate_objects_to_walls_and_nodes(haus) calc_wires(haus) create_roombook(haus)
def mainpage(): yaml_file = "data/setup.yaml" house = read_setup(yaml_file) associate_objects_to_walls_and_nodes(house) calc_wires(house) svgs = create_svg(house) create_roombook(house) return render_template( "menu.html", grundriss_ug=svgs[0], grundriss_eg=svgs[1], grundriss_og=svgs[2], haus=house, )
def test_indirect_connection(): haus = Haus() yaml = simple_haus.define_testcase() read_struktur(haus, yaml["struktur"]) read_anschluesse(haus, yaml["anschluesse"]) create_nodes_from_walls(haus) assert len(haus.nodes) == 8 + 16 assert len(haus.geschosse[0].nodes) == 8 assert len(haus.geschosse[1].nodes) == 16 associate_objects_to_walls_and_nodes(haus) haus.kabel.append(Kabel("2.1.2", "2.2.2")) calc_wires(haus) create_roombook(haus) assert haus.kabel[0].start == "2.1.2" assert haus.kabel[0].end[0] == "2.2.2" # assert haus.kabel[0].length == approx(1 + 1.5) # path = calc_kabel_len(haus, haus.kabel[0]) # for e in path: # print(e) # assert len(path) == 8 print(haus.kabel[0]) assert haus.kabel[0].length == approx(2.4 + 1.0 + 0.9 + 1.0)