def METHOD_NAME(widget, on_change_handler, min, clip_value, clip_max):
    "If the current value or max is before a new min time, it is clipped"
    widget.value = time(3, 42, 37)
    widget.max = time(12, 0, 0)
    on_change_handler.reset_mock()
    widget.min = min
    assert widget.min == min
    if clip_value:
        assert widget.value == min
        on_change_handler.assert_called_once_with(widget)
    else:
        assert widget.value == time(3, 42, 37)
        on_change_handler.assert_not_called()
    if clip_max:
        assert widget.max == min
    else:
        assert widget.max == time(12, 0, 0)