code: def test_sample_users_frac_oversize_ndj():
      ratings = lktu.ml_test.ratings
      splits = xf.sample_users(
          ratings, 20, 100, xf.SampleN(5), disjoint=False
      )
      splits = list(splits)
      assert len(splits) == 20
  
      for s in splits:
          ucounts = s.test.groupby("user").agg("count")
          assert len(ucounts) == 100
          assert len(s.test) == 5 * 100
          assert all(ucounts == 5)
          assert all(s.test.index.union(s.train.index) == ratings.index)
          assert len(s.test) + len(s.train) == len(ratings)
  
imports: import itertools
  import functools
  import pytest
  import math
  import numpy
  import lenskit.util.test
  import lenskit.crossfold
label_desc: Use image node_id 16 for calling a global function with example usage: test_sample_users_frac_oversize_ndj() without return types