Memes Gallery API-Get memes

### Program Information

Name: Memes Gallery API-Get memes
Domain: web service and application
Functionality: This service returns a collection of memes according to different criteria. It is invoked as a GET on the url: http://HOST/api/gallery.
Input: id: An unique identifier of the meme (Integer) pepe: A complex structure that represents the meme. (Object). url: Link to the meme's image. (String) rarity: Index of weirdness of the meme. (Double) date: Creation date of the meme. (String)
Output: id: An unique identifier of the meme (Integer) pepe: A complex structure that represents the meme. (Object). url: Link to the meme's image. (String) rarity: Index of weirdness of the meme. (Double) date: Creation date of the meme. (String)

#### Reference

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

### MR Information

#### MR1------

Description:
Property: Get the memes with a minimum weirdness of n. Get the memes with a maximum weirdness of n+1. The union of the outputs of the second and third invocation, should be equal to the output of the first invocation.
Source input: criterion: get all memes
Source output: a collection of memes $M_{s}$
Follow-up input: Get the memes with a minimum weirdness of $n$. Get the memes with a maximum weirdness of $n+1$.
Follow-up output: $M_{f}^1$,$M_{f}^2$
Input relation: Get the memes with a minimum weirdness of $n$. Get the memes with a maximum weirdness of $n+1$.
Output relation: $M_{s} \equiv M_{f}^1 + M_{f}^2$
Pattern: MROP:equality, symmetry

#### MR2------

Description:
Property: Get all the memes. Get the memes with a maximum weirdness of n. Get the memes with a minimum weirdness of n+1. The outputs of the invocations should be disjoint.
Source input: Get the memes with a minimum weirdness of $n$.
Source output: a collection of memes $M_{s}$
Follow-up input: Get the memes with a maximum weirdness of $n+1$.
Follow-up output: $M_{f}$
Input relation: Get the memes with a minimum weirdness of $n$. Get the memes with a maximum weirdness of $n+1$.
Output relation: The outputs of the invocations should be disjoint.
Pattern: MROP:disjoint, asymmetry

#### MR3------

Description:
Property: Get the memes in ascending order of weirdness. Get the memes in descending order of weirdness. The outputs of the invocations should be equivalent (contain the same elements not necessarily in the same order).
Source input: Get the memes in ascending order of weirdness. $ascending(m)$
Source output: a collection of memes $M_{s}$
Follow-up input: Get the memes in descending order of weirdness. $descending(m)$
Follow-up output: $M_{f}$
Input relation: Get the memes in ascending order of weirdness. $ascending(m)$ Get the memes in descending order of weirdness. $descending(m)$
Output relation: The outputs of the invocations should be equivalent.
Pattern: MROP:equivalent, symmetry, change direccion

#### MR4------

Description:
Property: Get the memes in ascending order of weirdness. Get the memes in descending order of weirdness. The reverse of the output of the second invocation should be equal to the output of the first invocation.
Source input: Get the memes in ascending order of weirdness. $ascending(m)$
Source output: a collection of memes $M_{s}$
Follow-up input: Get the memes in descending order of weirdness. $descending(m)$
Follow-up output: $M_{f}$
Input relation: Get the memes in ascending order of weirdness. $ascending(m)$ Get the memes in descending order of weirdness. $descending(m)$
Output relation: The reverse of the output of the second invocation should be equal to the output of the first invocation, $M_{s} \equiv M_{f}$
Pattern: MROP:equality, symmetry, change direccion
Insert title here