package com.sonoport.freesound.response.mapping;
import static org.junit.Assert.assertEquals;
import java.util.Date;
import org.json.JSONObject;
import org.junit.Test;
import com.sonoport.freesound.response.Pack;
/**
* Unit tests to ensure the correct operation of {@link PackMapper}. Test data is located as
* <code>/src/test/resources/pack.json</code>.
*/
public class PackMapperTest extends MapperTest {
/** Id of the pack. */
private static final int ID = 15292;
/** URL of the pack. */
private static final String URL = "http://www.freesound.org/people/clarinet_pablo_proj/packs/15292/";
/** Description of the pack. */
private static final String DESCRIPTION = "Pack description";
/** Date the pack was created. */
private static final Date DATE_CREATED = new Date(1410973300000L);
/** Name of the pack. */
private static final String PACK_NAME = "Pablo_Project clarinet overall quality of single note";
/** User name of the pack creator. */
private static final String USERNAME = "clarinet_pablo_proj";
/** Number of sounds in the pack. */
private static final int NUMBER_OF_SOUNDS = 794;
/** URL link to sounds in pack. */
private static final String SOUNDS_URI = "http://www.freesound.org/apiv2/packs/15292/sounds/";
/** Number of times the pack has been downloaded. */
private static final int NUMBER_OF_DOWNLOADS = 12;
/** Instance of {@link PackMapper} to use in tests. */
private final PackMapper packMapper = new PackMapper();
/**
* Test that {@link PackMapper} correctly maps the JSON representation of a sound pack into a {@link Pack} DTO.
*
* @throws Exception Any exceptions thrown in test
*/
@Test
public void parsePackRecord() throws Exception {
final JSONObject packJSON = readJSONFile("/pack.json");
final Pack pack = packMapper.map(packJSON);
assertEquals(ID, pack.getId());
assertEquals(URL, pack.getUrl());
assertEquals(DESCRIPTION, pack.getDescription());
assertEquals(DATE_CREATED, pack.getCreated()); // 2014-09-17T17:01:40.882
assertEquals(PACK_NAME, pack.getName());
assertEquals(USERNAME, pack.getUsername());
assertEquals(NUMBER_OF_SOUNDS, pack.getNumberOfSounds());
assertEquals(SOUNDS_URI, pack.getSoundsURI());
assertEquals(NUMBER_OF_DOWNLOADS, pack.getNumberOfDownloads());
}
}