code: def test_data_location_default_bucket_and_prefix_combinations():
      actual, expected = _test_default_bucket_and_prefix_combinations(
          function_with_user_input=(
              lambda sess: PCA(
                  num_components=2,
                  sagemaker_session=sess,
                  data_location="s3://test",
                  **COMMON_ARGS,
              ).data_location
          ),
          function_without_user_input=(
              lambda sess: PCA(
                  num_components=2,
                  sagemaker_session=sess,
                  **COMMON_ARGS,
              ).data_location
          ),
          expected__without_user_input__with_default_bucket_and_default_prefix=(
              f"s3://{DEFAULT_S3_BUCKET_NAME}/{DEFAULT_S3_OBJECT_KEY_PREFIX_NAME}/sagemaker-record-sets/"
          ),
          expected__without_user_input__with_default_bucket_only=f"s3://{DEFAULT_S3_BUCKET_NAME}/sagemaker-record-sets/",
          expected__with_user_input__with_default_bucket_and_prefix="s3://test",
          expected__with_user_input__with_default_bucket_only="s3://test",
      )
      assert actual == expected
  
imports: from __future__ import absolute_import
  import numpy
  import pytest
  from mock import ANY, Mock, patch, call
  from sagemaker import image_uris
  from sagemaker.amazon.pca import PCA
  from sagemaker.amazon.amazon_estimator import upload_numpy_to_s3_shards, _build_shards, FileSystemRecordSet
  from sagemaker.session_settings import SessionSettings
  from tests.unit import DEFAULT_S3_OBJECT_KEY_PREFIX_NAME, DEFAULT_S3_BUCKET_NAME, _test_default_bucket_and_prefix_combinations
label_desc: Use image node_id 8 for calling a global function with example usage: test_data_location_default_bucket_and_prefix_combinations() without return types