package me.moodcat.api.models;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.mockito.Mockito.when;
import junitx.extensions.EqualsHashCodeTestCase;
import me.moodcat.database.embeddables.VAVector;
import me.moodcat.database.entities.Song;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@RunWith(Enclosed.class)
public class SongModelTest {
public static class EqualsSongModelTest extends EqualsHashCodeTestCase {
public EqualsSongModelTest(final String name) {
super(name);
}
@Override
protected SongModel createInstance() throws Exception {
final SongModel model = new SongModel();
model.setName("First room");
return model;
}
@Override
protected SongModel createNotEqualInstance() throws Exception {
final SongModel model = new SongModel();
model.setName("Second room");
return model;
}
}
public static class TransformSongModelTest {
private Song song;
public TransformSongModelTest() {
song = Mockito.mock(Song.class);
when(song.getValenceArousal()).thenReturn(VAVector.ZERO);
}
@Test
public void canTransformFromSong() {
assertNotNull(SongModel.transform(song));
}
@Test
public void transformReturnsNullWhenSongIsNull() {
assertNull(SongModel.transform(null));
}
}
}