def _AssertContactCounts(self, user_id, expected_present_count, expected_removed_count):
    contacts = self._RunAsync(Contact.RangeQuery, self._client, user_id, None, 1000, None)
    actual_removed_count = len([c for c in contacts if c.IsRemoved()])
    actual_present_count = len(contacts) - actual_removed_count
    if expected_present_count != actual_present_count:
      self.assertEqual(expected_present_count, actual_present_count)
    if expected_removed_count != actual_removed_count:
      self.assertEqual(expected_removed_count, actual_removed_count)
Recursively descend through an Layout and NdMapping objects
dataset/ETHPy150Open viewfinderco/viewfinder/backend/www/test/fetch_contacts_test.py/FetchContactsTestCase._AssertContactCounts--crossover with--dataset/ETHPy150Open ioam/holoviews/holoviews/core/element.py/Collator._add_dimensions