def test_partition_failure7(): # object has no boolean interpretation class NoBoolWithT(_hf.FailBool, T): ... with pytest.raises(_hf.FailBool.EXC_TYP, match=_hf.FailBool.EXC_MSG): partition([NoBoolWithT(10)])
def test_partition_failure8(): # Changing next method with pytest.raises(_hf.CacheNext.EXC_TYP, match=_hf.CacheNext.EXC_MSG): partition(_hf.CacheNext(1))
def test_partition_failure5(): # Test that a failing iterator doesn't raise a SystemError with pytest.raises(_hf.FailNext.EXC_TYP, match=_hf.FailNext.EXC_MSG): partition(_hf.FailNext(), bool)
def test_partition_failure6(): # too few arguments with pytest.raises(TypeError): partition()
def test_partition_failure1(): with pytest.raises(_hf.FailIter.EXC_TYP, match=_hf.FailIter.EXC_MSG): partition(_hf.FailIter())
def test_partition_failure4(): with pytest.raises(TypeError): partition([T(1), T('a')], lambda x: x.value + 'a')
def test_partition_pred1(): assert partition([T(0), T(1), T(2)], lambda x: x.value > 1) == (toT([0, 1]), toT([2]))
def test_partition_pred2(): assert partition([T(0), T(1), T(2)], lambda x: x.value < 1) == (toT([1, 2]), toT([0]))
def test_partition_normal5(): # using a generator assert partition((i for i in [T(0), T(1)])) == ([T(0)], [T(1)])
def test_partition_normal6(): # pred=None is identical to no pred assert partition([T(0), T(1), T(2)], None) == (toT([0]), toT([1, 2]))
def test_partition_normal4(): assert partition([T(1), T(1), T(1)]) == ([], toT([1, 1, 1]))
def test_partition_normal3(): assert partition([T(0), T(0), T(0)]) == (toT([0, 0, 0]), [])
def test_partition_normal2(): assert partition([T(3), T(1), T(0)]) == (toT([0]), toT([3, 1]))
def test_partition_normal1(): assert partition([T(0), T(1), T(2)]) == (toT([0]), toT([1, 2]))
def test_partition_empty1(): assert partition([]) == (toT([]), toT([]))