예제 #1
0
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_connector_waagrecht():
    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())
    create_nodes_from_walls(haus)
    assert len(haus.nodes) == 12
    create_nodes_from_connectors(haus)
    assert len(haus.nodes) == 14
    assert haus.geschosse[-1].nodes[13].is_connected(
        haus.geschosse[-1].nodes[12])
def test_decke():
    haus = (
        simple_haus.HausCreator()
        .geschoss()
        .wall(0, 0, 40, 400)
        .wall(0, 0, 400, 40)
        .wall(200, 0, 40, 400)
        .wall(360, 0, 40, 400)
        .room()
        .Steckdose(0, 200)
        .Steckdose(40, 200)
        .Lampe(300, 200)
        .get_house()
    )
    create_nodes_from_walls(haus)
    associate_objects_to_walls_and_nodes(haus)
def test_connector_senkrecht():
    haus = (simple_haus.HausCreator().geschoss().wall(
        0, 0, 40, 400).room().Steckdose(40, 200).geschoss().wall(
            0, 0, 40, 400).room().Steckdose(40,
                                            200).con(0, 250, 100, 0, 0,
                                                     300).get_house())
    create_nodes_from_walls(haus)
    assert len(haus.nodes) == 8
    create_nodes_from_connectors(haus)
    assert len(haus.nodes) == 10
    assert len(haus.geschosse[0].walls[0].nodes) == 5
    assert len(haus.geschosse[0].walls[0].nodes[4].get_connected_nodes()) == 3
    assert (haus.geschosse[0].walls[0].nodes[4].is_connected(
        haus.geschosse[0].walls[0].nodes[2]))
    assert (haus.geschosse[0].walls[0].nodes[4].is_connected(
        haus.geschosse[0].walls[0].nodes[3]))
    assert len(haus.geschosse[1].walls[0].nodes) == 5
def test_single_wall_with_obj_at_diff_sides_of_wall_same_pos():
    haus = (
        simple_haus.HausCreator()
        .geschoss()
        .wall(0, 0, 40, 400)
        .room()
        .Steckdose(0, 200)
        .Steckdose(40, 200)
        .get_house()
    )
    assert len(haus.geschosse) == 1
    assert len(haus.geschosse[-1].rooms) == 1
    assert len(haus.geschosse[-1].walls) == 1
    assert len(haus.geschosse[-1].rooms[-1].objects) == 2
    create_nodes_from_walls(haus)
    assert len(haus.nodes) == 4
    associate_objects_to_walls_and_nodes(haus)
    assert len(haus.nodes) == 10