'Test that the different modes are producing the correct results using
a uniform, non-unity kernel with three elements'

@pytest.mark.parametrize(option_names, options)
def test_halfity_3(self, boundary, nan_treatment, normalize_kernel):

    x = np.array([1.0, 0.0, 3.0], dtype=u'float64')
    y = np.array([0.5, 0.5, 0.5], dtype=u'float64')
    z = convolve_fft(x, y, boundary=boundary, nan_treatment=nan_treatment, normalize_kernel=normalize_kernel)
    answer_dict = {u'sum': np.array([0.5, 2.0, 1.5], dtype=u'float64'), u'sum_zeros': np.array([0.5, 2.0, 1.5], dtype=u'float64'), u'sum_nozeros': np.array([0.5, 2.0, 1.5], dtype=u'float64'), u'average': np.array([(1 / 3.0), (4 / 3.0), 1.0], dtype=u'float64'), u'sum_wrap': np.array([2.0, 2.0, 2.0], dtype=u'float64'), u'average_wrap': np.array([(4 / 3.0), (4 / 3.0), (4 / 3.0)], dtype=u'float64'), u'average_zeros': np.array([(1 / 3.0), (4 / 3.0), 1.0], dtype=u'float64'), u'average_nozeros': np.array([0.5, (4 / 3.0), 1.5], dtype=u'float64')}
    if normalize_kernel:
        answer_key = u'average'
    else:
        answer_key = u'sum'
    if (boundary == u'wrap'):
        answer_key += u'_wrap'
    else:
        answer_key += u'_zeros'
    assert_array_almost_equal_nulp(z, answer_dict[answer_key], 10)
