def METHOD_NAME(self):
    infile = g_in_file_normal
    outfile = "test_out_append.wav"
    # 1. Copy input to output
    from shutil import copyfile
    copyfile(infile, outfile)
    # 2. append copy
    wf_in = blocks.wavfile_source(infile)
    wf_out = blocks.wavfile_sink(outfile,
                                 wf_in.channels(),
                                 wf_in.sample_rate(),
                                 blocks.FORMAT_WAV,
                                 blocks.FORMAT_PCM_16,
                                 True)
    self.tb.connect(wf_in, wf_out)
    self.tb.run()
    wf_out.close()
    # 3. append halved copy
    wf_in = blocks.wavfile_source(infile)
    halver = blocks.multiply_const_ff(0.5)
    wf_out = blocks.wavfile_sink(outfile,
                                 wf_in.channels(),
                                 wf_in.sample_rate(),
                                 blocks.FORMAT_WAV,
                                 blocks.FORMAT_PCM_16,
                                 True)
    self.tb.connect(wf_in, halver, wf_out)
    self.tb.run()
    wf_out.close()
    # Test file validity and read data.
    import wave
    try:
        # In
        with wave.open(infile, 'rb') as w_in:
            in_params = w_in.getparams()
            data_in = wav_read_frames(w_in)
        # Out
        with wave.open(outfile, 'rb') as w_out:
            out_params = w_out.getparams()
            data_out = wav_read_frames(w_out)
    except BaseException:
        raise AssertionError('Invalid WAV file')
    # Params must be equal except in size:
    expected_params = in_params._replace(nframes=3 * in_params.nframes)
    self.assertEqual(out_params, expected_params)
    # Part 1
    self.assertEqual(data_in, data_out[:len(data_in)])
    # Part 2
    self.assertEqual(data_in, data_out[len(data_in):2 * len(data_in)])
    # Part 3
    data_in_halved = [int(round(d / 2)) for d in data_in]
    self.assertEqual(data_in_halved, data_out[2 * len(data_in):])
    os.remove(outfile)