Spotify--Reorder a playlist's tracks

### Program Information

Name: Spotify--Reorder a playlist's tracks
Domain: web service and application
Functionality: Spotify is a music platform where users can browse by parameters such as artist, album, or genre, and can create, edit, and share playlists. The "Reorder a playlist's tracks" service reorders a track or a group of tracks in a playlist.
Input: $t$: a track
Output: $p$: a playlist

#### Reference

    Metamorphic Testing of RESTful Web APIs
https://dx.doi.org/10.1109/TSE.2017.2764464  

### MR Information

#### MR1------

Description:
Property: Move n tracks (range_length=n) from the position 0 (range_start=0) to the last position (insert_before=n), where n is the number of tracks in the playlist. Next, repeat the same operation. The output playlist of both reorderings should be equal. For example, move 10 tracks from the beginning to the end of the track in the playlist, then repeat this operation. The output playlist should be equal.
Source input: Move n tracks (range_length=n) from the position 0 (range_start=0) to the last position (insert_before=n), where n is the number of tracks in the playlist
Source output: $p$
Follow-up input: Move n tracks (range_length=n) from the position 0 (range_start=0) to the last position (insert_before=n), where n is the number of tracks in the playlist
Follow-up output: $p'$
Input relation: Move n tracks (range_length=n) from the position 0 (range_start=0) to the last position (insert_before=n), where n is the number of tracks in the playlist. Next, repeat the same operation.
Output relation: The output playlist of both reorderings should be equal.
Pattern: MROP:equality, MRP:symmetry, MRIP:change direccion

#### MR2------

Description:
Property: Move n/2 tracks (range_length=n/2) from the position 0 (range_start=0) to the last position (insert_before=n), where n is an even number equal to the number of tracks in the playlist. Next, repeat the same operation twice. The output playlist of the first and the last reorderings should be equal.
Source input: the original tracks
Source output: $p$
Follow-up input: Move n/2 tracks (range_length=n/2) from the position 0 (range_start=0) to the last position (insert_before=n), where n is an even number equal to the number of tracks in the playlist. Next, repeat the same operation twice.
Follow-up output: $p'$
Input relation: Move n/2 tracks (range_length=n/2) from the position 0 (range_start=0) to the last position (insert_before=n), where n is an even number equal to the number of tracks in the playlist. Next, repeat the same operation twice.
Output relation: $p$ = $p'$
Pattern: MROP:equality, MRP:symmetry, MRIP:perturbation

#### MR3------

Description:
Property: Move one track (range_length=1) from the position 0 (range_start=0) to the last position (insert_before=n), where n is the number of tracks in the playlist. Next, repeat the same operation n times. The output playlist of the first and the last reorderings should be equal.
Source input: the original tracks
Source output: $p$
Follow-up input: Move one track (range_length=1) from the position 0 (range_start=0) to the last position (insert_before=n), where n is the number of tracks in the playlist. Next, repeat the same operation n times.
Follow-up output: $p'$
Input relation: Move one track (range_length=1) from the position 0 (range_start=0) to the last position (insert_before=n), where n is the number of tracks in the playlist. Next, repeat the same operation n times.
Output relation: $p$ = $p'$
Pattern: MROP:equality, MRP:symmetry, MRIP:perturbation

#### MR4------

Description:
Property: Move the first track(range_length=1) from the position 0(range_start=0) to the las position (insert_before=n), where n is the number of tracks in the playlist. Next, move the last track (range_length=1) from the position n-1 (range_start=n-1) to position 0 (insert_before=1). Finally, repeat the initial operation moving the first track to the last position. The output playlist of the first and the last reorderings should be equal.
Source input:
Source output: $p$
Follow-up input:
Follow-up output: $p'$
Input relation:
Output relation: $p$ = $p'$
Pattern: MROP:equality, MRP:symmetry, MRIP:perturbation
Insert title here