code: def test_extend_ranges(test_case):
      # extend_range working properly
      assert (
          extend_ranges(test_case["input"], test_case["window_length"])
          == test_case["right_output"]
      )
  
      # extend_range left working properly
      assert (
          extend_ranges(
              test_case["input"],
              test_case["window_length"],
              direction="left",
          )
          == test_case["left_output"]
      )
  
      # 0 behaves as the "identity"
      assert extend_ranges(test_case["input"], 0) == test_case["input"]
  
file_path: gluonts/test/nursery/anomaly_detection/supervised_metrics/test_precision_recall.py
imports: from typing import Dict, List, Tuple
  import numpy
  import pytest
  from sklearn.metrics import auc
  from gluonts.nursery.anomaly_detection.supervised_metrics import aggregate_precision_recall_curve, buffered_precision_recall, segment_precision_recall
  from gluonts.nursery.anomaly_detection.supervised_metrics._buffered_precision_recall import extend_ranges
  from gluonts.nursery.anomaly_detection.supervised_metrics.bounded_pr_auc import bounded_pr_auc
  from gluonts.nursery.anomaly_detection.supervised_metrics.utils import labels_to_ranges, range_overlap
label_desc: Use image node_id 3 for calling a global function with example usage: test_extend_ranges(test_case) without return types