예제 #1
0
def test_session_request(get_interface_params):
    """
    Test session request.

    Args:
        get_interface_params (tuple): Tuple to configure local interface

    Return:
        None
    """
    from sail_on_client.protocol.localinterface import LocalInterface

    config_directory, config_name = get_interface_params
    data_dir = f"{os.path.dirname(__file__)}/data"
    local_interface = LocalInterface(config_name, config_directory)
    test_id_path = os.path.join(data_dir, "OND", "image_classification", TEST_ID_NAME)
    test_ids = list(map(str.strip, open(test_id_path, "r").readlines()))
    # Testing if session was sucessfully initalized
    local_interface.session_request(
        test_ids, "OND", "image_classification", "0.1.1", [], 0.5
    )
    # Testing with hints
    local_interface.session_request(
        test_ids, "OND", "image_classification", "0.1.1", ["red_light"], 0.5
    )
예제 #2
0
def test_resume_session(get_interface_params):
    """
    Test resume session.

    Args:
        get_interface_params (tuple): Tuple to configure par interface

    Return:
        None
    """
    from sail_on_client.protocol.localinterface import LocalInterface

    config_directory, config_name = get_interface_params
    local_interface = LocalInterface(config_name, config_directory)
    session_id = local_interface.session_request(
        ["OND.54011215.0000.1236"], "OND", "image_classification", "0.1.1", [], 0.5
    )
    local_interface.complete_test(session_id, "OND.54011215.0000.1236")
    finished_test = local_interface.resume_session(session_id)
    assert finished_test == ["OND.54011215.0000.1236"]
    # Testing with hints
    session_id = local_interface.session_request(
        ["OND.54011215.0000.1236"],
        "OND",
        "image_classification",
        "0.1.1",
        ["red_light"],
        0.4,
    )
    local_interface.complete_test(session_id, "OND.54011215.0000.1236")
    finished_test = local_interface.resume_session(session_id)
    assert finished_test == ["OND.54011215.0000.1236"]
예제 #3
0
def test_create_feedback_instance(domain, test_id, get_interface_params,
                                  expected):
    """
    Test for creating metric instance.

    Args:
        protocol: Name of the protocol
        domain: Name of the domain
        gt_dict: Parameters for the class created by metric
        expected: Expected Output Class

    Returns:
        None
    """
    config_directory, config_name = get_interface_params
    local_interface = LocalInterface(config_name, config_directory)
    protocol_name = "OND"
    session_id = local_interface.session_request([test_id], protocol_name,
                                                 domain, "0.1.1", (), 0.5)
    feedback_dict = {
        "first_budget": 10,
        "income_per_batch": 10,
        "maximum_budget": 10,
        "interface": local_interface,
        "session_id": session_id,
        "test_id": test_id,
        "feedback_type": "classification",
    }
    feedback_obj = create_feedback_instance(domain, feedback_dict)
    assert isinstance(feedback_obj, expected)