def METHOD_NAME(condition_list=[], rand_arg_list=[]):
    """
    Create a random ternary quadratic form satisfying a list of boolean
    (i.e. True/False) conditions.
    The conditions `c` appearing in the list must be boolean functions which
    can be called either as ``Q.c()`` or ``c(Q)``, where ``Q`` is the random
    ternary quadratic form.
    The last (and optional) argument ``rand_arg_list`` is a list of at most 3
    elements which is passed (as at most 3 separate variables) into the method
    ``R.random_element()``.
    EXAMPLES::
        sage: check = TernaryQF.is_positive_definite
        sage: Q = random_ternaryqf_with_conditions([check], [-5, 5])
        sage: Q    # random
        Ternary quadratic form with integer coefficients:
        [3 4 2]
        [2 -2 -1]
    """
    Q = random_ternaryqf(rand_arg_list)
    done_flag = True
    # Check that all conditions are satisfied
    while done_flag:
        done_flag = False
        for c in condition_list:
            # Check if condition c is satisfied
            try:
                bool_ans = Q.c()
            except Exception:
                bool_ans = c(Q)
            # Create a new quadratic form if a condition fails
            if not bool_ans:
                Q = random_ternaryqf(rand_arg_list)
                done_flag = True
                break
    return Q