def test_get_mean_waiting_time_example_3():
    """
    Example on getting the mean waiting time recursively from the Markov chain
    """
    mean_waiting_time = get_mean_waiting_time_using_markov_state_probabilities(
        lambda_2=0.2,
        lambda_1=0.2,
        mu=0.2,
        num_of_servers=3,
        threshold=3,
        system_capacity=10,
        buffer_capacity=10,
        class_type=1,
        waiting_formula=mean_waiting_time_formula_using_recursive_approach,
    )
    assert mean_waiting_time == 0
def test_get_mean_waiting_time_example_7():
    """
    Example on getting the mean waiting time from a closed form formula
    """
    mean_waiting_time = get_mean_waiting_time_using_markov_state_probabilities(
        lambda_2=0.2,
        lambda_1=0.2,
        mu=0.2,
        num_of_servers=3,
        threshold=3,
        system_capacity=10,
        buffer_capacity=10,
        class_type=1,
        waiting_formula=mean_waiting_time_formula_using_closed_form_approach,
    )
    assert mean_waiting_time == 0
def test_get_mean_waiting_time_example_8():
    """
    Example on getting the mean waiting time from a closed form formula
    """
    mean_waiting_time = get_mean_waiting_time_using_markov_state_probabilities(
        lambda_2=0.2,
        lambda_1=0.2,
        mu=0.2,
        num_of_servers=3,
        threshold=4,
        system_capacity=10,
        buffer_capacity=10,
        class_type=None,
        waiting_formula=mean_waiting_time_formula_using_closed_form_approach,
    )
    assert round(mean_waiting_time, NUMBER_OF_DIGITS_TO_ROUND) == round(
        1.1051493390764142, NUMBER_OF_DIGITS_TO_ROUND)
def test_get_mean_waiting_time_example_2():
    """
    Example on getting the mean waiting time recursively from the Markov chain
    """
    mean_waiting_time = get_mean_waiting_time_using_markov_state_probabilities(
        lambda_2=0.2,
        lambda_1=0.2,
        mu=0.2,
        num_of_servers=3,
        threshold=4,
        system_capacity=10,
        buffer_capacity=10,
        class_type=1,
        waiting_formula=mean_waiting_time_formula_using_recursive_approach,
    )
    assert round(mean_waiting_time, NUMBER_OF_DIGITS_TO_ROUND) == round(
        0.7377914457854086, NUMBER_OF_DIGITS_TO_ROUND)