code: def test_general_dataloader(self):
      train_batch_size = 6
      eval_batch_size = 2
      config_dict = {
          "model": "BPR",
          "dataset": "general_dataloader",
          "data_path": current_path,
          "load_col": None,
          "eval_args": {
              "split": {"RS": [0.8, 0.1, 0.1]},
              "order": "TO",
              "mode": "labeled",
          },
          "train_neg_sample_args": None,
          "train_batch_size": train_batch_size,
          "eval_batch_size": eval_batch_size,
          "shuffle": False,
      }
      train_data, valid_data, test_data = new_dataloader(
          config_dict=config_dict
      )
  
      def check_dataloader(data, item_list, batch_size, train=False):
          data.shuffle = False
          pr = 0
          for batch_data in data:
              batch_item_list = item_list[pr : pr + batch_size]
              if train:
                  user_df = batch_data
              else:
                  user_df = batch_data[0]
              assert (
                  user_df["item_id"].numpy() == batch_item_list
              ).all()
              pr += batch_size
  
      check_dataloader(
          train_data, list(range(1, 41)), train_batch_size, True
      )
      check_dataloader(valid_data, list(range(41, 46)), eval_batch_size)
      check_dataloader(test_data, list(range(46, 51)), eval_batch_size)
  
file_path: RecBole/tests/data/test_dataloader.py
imports: import logging
  import os
  import pytest
  from recbole.data.dataloader.general_dataloader import NegSampleEvalDataLoader, FullSortEvalDataLoader
  from recbole.config import Config
  from recbole.data import create_dataset, data_preparation
  from recbole.utils import init_seed
label_desc: Use image node_id 1 for calling the TestGeneralDataloader obj's underlying member method code with example usage: obj.test_general_dataloader() without return types