Skip to content

Commit 012acaf

Browse files
ArVarArthur Varkentinfgregg
authored
Add __len__ method to ExistType (#1199)
Co-authored-by: Arthur Varkentin <[email protected]> Co-authored-by: Forest Gregg <[email protected]>
1 parent 7ee6e6c commit 012acaf

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

dedupe/variables/exists.py

+3
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ def comparator(self, field_1: Any, field_2: Any) -> list[int]:
3030
else:
3131
return self.cat_comparator(0, 0)
3232

33+
def __len__(self) -> int:
34+
return len(self.higher_vars)
35+
3336
# This flag tells fieldDistances in dedupe.core to pass
3437
# missing values (None) into the comparator
3538
comparator.missing = True # type: ignore

tests/test_exists.py

+7
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,10 @@ def test_comparator(self):
1111
assert numpy.array_equal(var.comparator(None, None), [0, 0])
1212
assert numpy.array_equal(var.comparator(1, 1), [1, 0])
1313
assert numpy.array_equal(var.comparator(1, 0), [0, 1])
14+
15+
def test_len_higher_vars(self):
16+
# The len > 1 is neccessary for the correct processing in datamodel.py
17+
var = ExistsType("foo")
18+
assert len(var) > 1
19+
assert len(var.higher_vars) > 1
20+
assert len(var) == len(var.higher_vars)

0 commit comments

Comments
 (0)