code: def test_insert_two_repeats_with_crossfading_and_part_transform(self):
      # The purpose of this test is to cover two different cases:
      # 1) The fade from the last part to the tail is correlated (use equal-gain fade)
      # 2) The fade from the last part to the tail is uncorrelated (use equal-energy fade)
      for part_transform in [Gain(p=0.0), Shift(p=1.0)]:
          augment = RepeatPart(
              mode="insert",
              crossfade_duration=0.005,
              part_transform=part_transform,
              p=1.0,
          )
          augment.parameters = {
              "should_apply": True,
              "part_num_samples": int(0.25 * 44100),
              "repeats": 2,
              "part_start_index": 150,
          }
          augment.freeze_parameters()
  
          sample_rate = 44100
          samples = get_chirp_test(sample_rate, duration=2) * 0.3
          processed_samples = augment(
              samples=samples, sample_rate=sample_rate
          )
  
          assert processed_samples.dtype == np.float32
  
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 12 for calling the TestRepeatPart obj's underlying member method code with example usage: obj.test_insert_two_repeats_with_crossfading_and_part_transform() without return types