Esempio n. 1
0
def test_scenario_conflicts(request):

    project_cards_list = []
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "a_test_project_card.yml")))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "b_test_project_card.yml")))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "c_test_project_card.yml")))

    scen = Scenario.create_scenario(base_scenario={},
                                    project_cards_list=project_cards_list)

    print(str(scen), "\n")

    scen.check_scenario_conflicts()
    if scen.has_conflict_error:
        print("Conflicting project found for scenario!")

    print("Conflict checks done:", scen.conflicts_checked)
    print("--Finished:", request.node.name)
Esempio n. 2
0
def test_scenario_requisites(request):
    print("\n--Starting:", request.node.name)
    base_scenario = {}

    project_cards_list = []
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "a_test_project_card.yml")))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "b_test_project_card.yml")))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "c_test_project_card.yml")))

    scen = Scenario.create_scenario(base_scenario=base_scenario,
                                    project_cards_list=project_cards_list)

    print(str(scen), "\n")

    scen.check_scenario_requisites()
    if scen.has_requisite_error:
        print("Missing pre- or co-requisite projects found for scenario!")

    print("Requisite checks done:", scen.requisites_checked)
    print("--Finished:", request.node.name)
Esempio n. 3
0
def test_project_sort(request):
    print("\n--Starting:", request.node.name)
    base_scenario = {}

    project_cards_list = []
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "a_test_project_card.yml")))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "b_test_project_card.yml")))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(STPAUL_DIR, "project_cards",
                         "c_test_project_card.yml")))

    scen = Scenario.create_scenario(base_scenario=base_scenario,
                                    project_cards_list=project_cards_list)
    print("\n> Prerequisites:")
    import pprint

    pprint.pprint(scen.prerequisites)
    print("\nUnordered Projects:", scen.get_project_names())
    scen.check_scenario_conflicts()
    scen.check_scenario_requisites()

    scen.order_project_cards()
    print("Ordered Projects:", scen.get_project_names())
    print("--Finished:", request.node.name)
Esempio n. 4
0
def test_project_sort(request):
    print("\n--Starting:", request.node.name)
    base_scenario = {}

    project_cards_list = []
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '4_test_project_card.yml')))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '5_test_project_card.yml')))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '6_test_project_card.yml')))

    scen = Scenario.create_scenario(base_scenario=base_scenario,
                                    project_cards_list=project_cards_list)
    print("\n> Prerequisites:")
    import pprint
    pprint.pprint(scen.prerequisites)
    print("\nUnordered Projects:", scen.project_names())
    scen.check_scenario_conflicts()
    scen.check_scenario_requisites()

    scen.order_project_cards()
    print("Ordered Projects:", scen.project_names())
    print("--Finished:", request.node.name)
Esempio n. 5
0
def test_scenario_requisites(request):
    print("\n--Starting:", request.node.name)
    base_scenario = {}

    project_cards_list = []
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '4_test_project_card.yml')))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '5_test_project_card.yml')))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '6_test_project_card.yml')))

    scen = Scenario.create_scenario(base_scenario=base_scenario,
                                    project_cards_list=project_cards_list)

    print(str(scen), "\n")

    scen.check_scenario_requisites()
    if scen.has_requisite_error:
        print('Missing pre- or co-requisite projects found for scenario!')

    print('Requisite checks done:', scen.requisites_checked)
    print("--Finished:", request.node.name)
Esempio n. 6
0
def test_scenario_conflicts(request):

    project_cards_list = []
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '4_test_project_card.yml')))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '5_test_project_card.yml')))
    project_cards_list.append(
        ProjectCard.read(
            os.path.join(os.getcwd(), 'example', 'stpaul', 'project_cards',
                         '6_test_project_card.yml')))

    scen = Scenario.create_scenario(base_scenario={},
                                    project_cards_list=project_cards_list)

    print(str(scen))
    scen.check_scenario_conflicts()
    if scen.has_conflict_error:
        print('Conflicting project found for scenario!')

    print('Conflict checks done:', scen.conflicts_checked)
    print("--Finished:", request.node.name)
Esempio n. 7
0
def test_apply_summary_wrappers(request):
    print("\n--Starting:", request.node.name)

    card_filenames = [
        "3_multiple_roadway_attribute_change.yml",
        "multiple_changes.yml",
        "4_simple_managed_lane.yml",
    ]

    project_card_directory = os.path.join(STPAUL_DIR, "project_cards")

    project_cards_list = [
        ProjectCard.read(os.path.join(project_card_directory, filename),
                         validate=False) for filename in card_filenames
    ]

    base_scenario = {
        "road_net":
        RoadwayNetwork.read(
            link_file=STPAUL_LINK_FILE,
            node_file=STPAUL_NODE_FILE,
            shape_file=STPAUL_SHAPE_FILE,
            fast=True,
        ),
        "transit_net":
        TransitNetwork.read(STPAUL_DIR),
    }

    my_scenario = Scenario.create_scenario(
        base_scenario=base_scenario, project_cards_list=project_cards_list)

    my_scenario.apply_all_projects()

    my_scenario.scenario_summary()

    print("--Finished:", request.node.name)
Esempio n. 8
0
    config_file = args[1]

    if not os.path.exists(config_file):
        raise FileNotFoundError(
            "Specified config file does not exists - {}".format(config_file)
        )

    WranglerLogger.info("\nReading config file: {}".format(config_file))
    with open(config_file) as f:
        my_config = yaml.safe_load(f)

    # Create Base Network
    WranglerLogger.info("\nCreating base scenario")
    base_scenario = Scenario.create_base_scenario(
        my_config["base_scenario"]["shape_file_name"],
        my_config["base_scenario"]["link_file_name"],
        my_config["base_scenario"]["node_file_name"],
        base_dir=my_config["base_scenario"]["input_dir"],
    )

    # Create Scenaro Network
    if len(my_config["scenario"]["project_cards_filenames"]) > 0:
        WranglerLogger.info("\nCreating project card objects for scenario")
    project_cards_list = [
        ProjectCard.read(filename, validate=False)
        for filename in my_config["scenario"]["project_cards_filenames"]
    ]

    WranglerLogger.info("\nCreating scenario")
    my_scenario = Scenario.create_scenario(
        base_scenario=base_scenario,
        card_directory=my_config["scenario"]["card_directory"],
Esempio n. 9
0
    write_out = config_dict.get("scenario").get("write_out")
    out_dir = config_dict.get("scenario").get("output_dir")
    out_prefix = config_dict.get("scenario").get("out_prefix")

    if project_tags is None:
        project_tags = []

    if project_cards_filenames is None:
        project_cards_filenames = []

    # Create Base Network
    base_scenario = Scenario.create_base_scenario(
        base_dir=base_network_dir,
        base_shape_name=base_shape_name,
        base_link_name=base_link_name,
        base_node_name=base_node_name,
        validate=validate_base_network,
    )

    # Create Scenaro Network
    project_cards_list = [
        ProjectCard.read(filename, validate=False)
        for filename in project_cards_filenames
    ]

    my_scenario = Scenario.create_scenario(
        base_scenario=base_scenario,
        card_directory=card_directory,
        tags=project_tags,
        project_cards_list=project_cards_list,