@pytest.mark.parametrize('fill_val,exp_dtype', [(1, object), (1.1, object), ((1 + 1j), object), (True, np.bool_)])
def test_where_series_bool(self, fill_val, exp_dtype):
    klass = pd.Series
    obj = klass([True, False, True, False])
    assert (obj.dtype == np.bool_)
    cond = klass([True, False, True, False])
    exp = klass([True, fill_val, True, fill_val])
    self._assert_where_conversion(obj, cond, fill_val, exp, exp_dtype)
    if (fill_val is True):
        values = klass([True, False, True, True])
    else:
        values = klass(((x * fill_val) for x in [5, 6, 7, 8]))
    exp = klass([True, values[1], True, values[3]])
    self._assert_where_conversion(obj, cond, values, exp, exp_dtype)
@pytest.mark.parametrize('fill_val,exp_dtype', [(1, object), (1.1, object), ((1 + 1j), object), (True, np.bool_)])
def test_where_series_bool(self, fill_val, exp_dtype):
    klass = pd.Series
    obj = klass([True, False, True, False])
    assert (obj.dtype == np.bool_)
    cond = klass([True, False, True, False])
    exp = klass([True, fill_val, True, fill_val])
    self._assert_where_conversion(obj, cond, fill_val, exp, exp_dtype)
    if (fill_val is True):
        values = klass([True, False, True, True])
    else:
        values = klass(((x * fill_val) for x in [5, 6, 7, 8]))
    exp = klass([True, values[1], True, values[3]])
    self._assert_where_conversion(obj, cond, values, exp, exp_dtype)