diff --git a/assertpy/extracting.py b/assertpy/extracting.py index 98d4ad8..257fe30 100644 --- a/assertpy/extracting.py +++ b/assertpy/extracting.py @@ -209,7 +209,7 @@ def _filter(x): return True elif callable(kwargs['filter']): return kwargs['filter'](x) - return False + return kwargs['filter'] is None return True def _sort(x): diff --git a/tests/test_extracting.py b/tests/test_extracting.py index b443064..f4aa1ba 100644 --- a/tests/test_extracting.py +++ b/tests/test_extracting.py @@ -150,6 +150,10 @@ def test_extracting_filter(): assert_that(users).extracting('user', filter=lambda x: x['age'] < 10).is_empty() +def test_extracting_filter_none(): + assert_that(users).extracting('user', filter=None).is_equal_to(['Fred', 'Bob', 'Johnny']) + + def test_extracting_filter_bad_type(): assert_that(users).extracting('user', filter=123).is_equal_to([]) @@ -231,6 +235,10 @@ def test_extracting_sort(): assert_that(users).extracting('user', sort=lambda x: -x['age']).is_equal_to(['Bob', 'Fred', 'Johnny']) +def test_extracting_sort_none(): + assert_that(users).extracting('user', sort=None).is_equal_to(['Fred', 'Bob', 'Johnny']) + + def test_extracting_sort_ignore_bad_type(): assert_that(users).extracting('user', sort=123).is_equal_to(['Fred', 'Bob', 'Johnny'])