def test_func(func: Callable[(..., None)], kw_only_count: int, pos_only_count: int) -> None:
    'Test a given function ``f``. '
    with pytest.raises(InvalidArgumentCombination):
        func()
    if (pos_only_count == 0):
        func(a=1)
        func(a=1, b=1)
        func(a=1, b=None)
        with pytest.raises(InvalidArgumentCombination):
            func(a=None, b=1)
    if (kw_only_count < 2):
        func(1)
    if ((kw_only_count < 2) and (pos_only_count < 2)):
        func(1, b=1)
        func(1, b=None)
        with pytest.raises(InvalidArgumentCombination):
            func(None, b=1)
    if (kw_only_count == 0):
        func(1, 1)
        func(1, None)
        with pytest.raises(InvalidArgumentCombination):
            func(None, 1)
    if (pos_only_count < 2):
        with pytest.raises(InvalidArgumentCombination):
            func(b=1)
Test a given function ``f``.
def test_func(func: Callable[(..., None)], kw_only_count: int, pos_only_count: int) -> None:
    ' '
    with pytest.raises(InvalidArgumentCombination):
        func()
    if (pos_only_count == 0):
        func(a=1)
        func(a=1, b=1)
        func(a=1, b=None)
        with pytest.raises(InvalidArgumentCombination):
            func(a=None, b=1)
    if (kw_only_count < 2):
        func(1)
    if ((kw_only_count < 2) and (pos_only_count < 2)):
        func(1, b=1)
        func(1, b=None)
        with pytest.raises(InvalidArgumentCombination):
            func(None, b=1)
    if (kw_only_count == 0):
        func(1, 1)
        func(1, None)
        with pytest.raises(InvalidArgumentCombination):
            func(None, 1)
    if (pos_only_count < 2):
        with pytest.raises(InvalidArgumentCombination):
            func(b=1)