code: def test_load_ground_truth_split_from_file(csv_filename):
      """Ensure correct ground truth split is loaded when ground_truth_split is given.
  
      :param csv_filename: csv fixture from tests.fixtures.filenames.csv_filename
      :return: None
      """
      input_features = [category_feature(encoder={"vocab_size": 10})]
      output_features = [
          category_feature(
              decoder={"vocab_size": 2}, reduce_input="sum"
          )
      ]
  
      # Generate test data
      rel_path = generate_data(
          input_features, output_features, csv_filename
      )
      exp_dir_name = run_experiment_with_visualization(
          input_features, output_features, dataset=rel_path
      )
      output_feature_name = get_output_feature_name(exp_dir_name)
      experiment_source_data_name = csv_filename.split(".")[0]
      ground_truth = experiment_source_data_name + ".csv"
      split_file = experiment_source_data_name + ".split.parquet"
  
      # retrieve ground truth from source data set
      ground_truth_train_split = _extract_ground_truth_values(
          ground_truth, output_feature_name, 0, split_file
      )
      ground_truth_val_split = _extract_ground_truth_values(
          ground_truth, output_feature_name, 1, split_file
      )
      ground_truth_test_split = _extract_ground_truth_values(
          ground_truth, output_feature_name, 2, split_file
      )
  
      test_df, train_df, val_df = obtain_df_splits(csv_filename)
      target_predictions_from_train = train_df[output_feature_name]
      target_predictions_from_val = val_df[output_feature_name]
      target_predictions_from_test = test_df[output_feature_name]
  
      assert np.all(
          ground_truth_train_split.eq(target_predictions_from_train)
      )
      assert np.all(
          ground_truth_val_split.eq(target_predictions_from_val)
      )
      assert np.all(
          ground_truth_test_split.eq(target_predictions_from_test)
      )
  
imports: import glob
  import json
  import os
  import random
  import subprocess
  import numpy
  import pytest
  from ludwig.constants import BATCH_SIZE, ENCODER, TRAINER, TYPE
  from ludwig.experiment import experiment_cli
  from ludwig.globals import DESCRIPTION_FILE_NAME, PREDICTIONS_PARQUET_FILE_NAME, TEST_STATISTICS_FILE_NAME
  from ludwig.utils.data_utils import get_split_path
  from ludwig.visualize import _extract_ground_truth_values
  from tests.integration_tests.test_visualization_api import obtain_df_splits
  from tests.integration_tests.utils import bag_feature, binary_feature, category_feature, generate_data, number_feature, sequence_feature, set_feature, text_feature
label_desc: Use image node_id 31 for calling a global function with example usage: test_load_ground_truth_split_from_file(csv_filename) without return types