def test_convert_bool_flags_to_flag_mask(flag_val):
    flag, mask = flag_val
    mask |= quality_mapping.LATEST_VERSION_FLAG
    ser = pd.Series([0, 0, 1, 0, 1])
    flags = quality_mapping.convert_bool_flags_to_flag_mask(ser, flag, True)
    assert_series_equal(flags, pd.Series([
        mask, mask, quality_mapping.LATEST_VERSION_FLAG, mask,
        quality_mapping.LATEST_VERSION_FLAG]))
def test_convert_bool_flags_to_flag_mask_no_invert(flag_val,
                                                   ignore_latest_version):
    flag, mask = flag_val
    ser = pd.Series([0, 0, 1, 0, 1])
    flags = quality_mapping.convert_bool_flags_to_flag_mask(ser, flag, False)
    assert_series_equal(flags, pd.Series([0, 0, mask, 0, mask]))
def test_convert_bool_flags_to_flag_mask_adds_latest_version(flag_invert):
    ser = pd.Series([0, 0, 0, 1, 1])
    flags = quality_mapping.convert_bool_flags_to_flag_mask(
        ser, *flag_invert)
    assert (flags & quality_mapping.LATEST_VERSION_FLAG).all()
def test_convert_bool_flags_to_flag_mask_none(flag_invert):
    assert quality_mapping.convert_bool_flags_to_flag_mask(
        None, *flag_invert) is None