code: def test_instantiate_data_loaders_explicit(
      explicit_interactions_pandas,
  ):
      common_data_loader_kwargs = {
          "batch_size": 5,
          "shuffle": False,
          "drop_last": False,
      }
  
      data_loader_class = InteractionsDataLoader(
          interactions=explicit_interactions_pandas,
          **common_data_loader_kwargs,
      )
  
      assert (
          data_loader_class.interactions.num_users
          == data_loader_class.num_users
      )
      assert (
          data_loader_class.interactions.num_items
          == data_loader_class.num_items
      )
  
      data_loader_class_first_batch = next(iter(data_loader_class))
  
      # ensure that the format for implicit data is:
      # ``(X, Y, Z) = (user IDs, item IDs, ratings)``
      assert len(data_loader_class_first_batch) == 3
      assert (
          len(data_loader_class_first_batch[0])
          == common_data_loader_kwargs["batch_size"]
      )
      assert (
          len(data_loader_class_first_batch[1])
          == common_data_loader_kwargs["batch_size"]
      )
      assert (
          len(data_loader_class_first_batch[2])
          == common_data_loader_kwargs["batch_size"]
      )
  
      expected_repr = (
          "InteractionsDataLoader object with 12 interactions between 6 users and 10 items, returning"
          " explicit, non-shuffled batches of size 5."
      )
      assert str(data_loader_class) == expected_repr
  
imports: import sys
  import numpy
  import pandas
  import pytest
  from collie.interactions import ApproximateNegativeSamplingInteractionsDataLoader, ExplicitInteractions, HDF5Interactions, HDF5InteractionsDataLoader, Interactions, InteractionsDataLoader
label_desc: Use image node_id 10 for calling a global function with example usage: test_instantiate_data_loaders_explicit(explicit_interactions_pandas) without return types