code: def test_replace_mode_repeats_with_crossfading_at_end(self):
      # Test that it doesn't crash if the end of the array is in the middle of
      # the crossfade of the last part (in replace mode)
      augment = RepeatPart(
          mode="replace", crossfade_duration=0.124, p=1.0
      )
      part_num_samples = int(0.29 * 44100)
      augment.parameters = {
          "should_apply": True,
          "part_num_samples": part_num_samples,
          "repeats": 5,
          "part_start_index": int(0.22 * 44100),
      }
      augment.freeze_parameters()
  
      sample_rate = 44100
      amplitude = 0.3
      samples = get_chirp_test(sample_rate, duration=2) * amplitude
      processed_samples = augment(
          samples=samples, sample_rate=sample_rate
      )
      assert processed_samples.shape == samples.shape
  
imports: from copy import deepcopy
  import numpy
  import pytest
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  from audiomentations import Gain, AdjustDuration, RepeatPart, Shift
  from audiomentations.core.utils import get_crossfade_mask_pair
  from tests.test_filter_transforms import get_chirp_test
label_desc: Use image node_id 14 for calling the TestRepeatPart obj's underlying member method code with example usage: obj.test_replace_mode_repeats_with_crossfading_at_end() without return types