class_docstr: Mixin to test a bunch of common functionality in models
  deriving from RecommenderBase
code: def test_similar_items_filter(self):
      model = self._get_model()
  
      model.fit(get_checker_board(256), show_progress=False)
      itemids = np.arange(50)
  
      ids, _ = model.similar_items(
          itemids, N=10, filter_items=np.arange(52) * 5
      )
      for itemid in itemids:
          for r in ids[itemid]:
              self.assertTrue(r % 5 != 0)
  
      try:
          selected = np.arange(10)
          ids, _ = model.similar_items(itemids, N=10, items=selected)
          for itemid in itemids:
              self.assertEqual(set(ids[itemid]), set(selected))
      except NotImplementedError:
          # some models don't support a 'items' filter on the similar_items call
          pass
  
imports: import os
  import pickle
  import random
  import tempfile
  import numpy
  import pytest
  from numpy.testing import assert_array_equal
  from scipy.sparse import coo_matrix, csr_matrix
  from implicit.evaluation import precision_at_k
  from implicit.nearest_neighbours import ItemItemRecommender
  from implicit.utils import ParameterWarning
label_desc: Use image node_id 11 for calling the RecommenderBaseTestMixin obj's underlying member method code with example usage: obj.test_similar_items_filter() without return types