def METHOD_NAME(future, lazy):
    ds0 = vaex.from_arrays(colors=['red', 'green', 'blue', 'green'])
    ds = ds0.ordinal_encode('colors', lazy=lazy)#, ['red', 'green'], inplace=True)
    assert ds.colors.dtype.internal.name == 'int8'
    ds = ds._future() if future else ds
    assert ds.is_category('colors')
    if future:
        assert ds.data_type('colors') == str
    else:
        assert ds.data_type('colors') == int
    assert ds.limits('colors', shape=128) == ([-0.5, 2.5], 3)
    ds = ds0.ordinal_encode('colors', values=['red', 'green'], lazy=lazy)
    assert ds.is_category('colors')
    assert ds.limits('colors', shape=128) == ([-0.5, 1.5], 2)
    if not lazy:
        assert ds.data.colors.tolist() == [0, 1, None, 1]
    assert ds.copy().is_category(ds.colors)
    # with pytest.raises(ValueError):
    # 	assert ds.is_category('colors', values=['red', 'orange'])