package me.moodcat.api;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.List;
import me.moodcat.api.Mood;
import me.moodcat.database.embeddables.VAVector;
import org.junit.Test;
public class MoodTest {
private static final double epsilon = 1E-5;
@Test
public void closestTo() {
final Mood mood = Mood.ANGRY;
final VAVector vector = mood.getVector();
final VAVector translatedVector = vector.add(new VAVector(epsilon, epsilon));
assertEquals(mood, Mood.closestTo(translatedVector));
}
@Test
public void averageVector() {
final List<String> moods = Arrays.asList("Exciting", "Happy");
final VAVector average = Mood.createTargetVector(moods);
// We are in the first quadrant.
assertTrue(average.getArousal() > 0.0);
assertTrue(average.getValence() > 0.0);
}
@Test
public void averageVectorOfNonExistingMoodsReturnsZeroVector() {
final List<String> moods = Arrays.asList("Non-existant", "Bogus");
assertEquals(new VAVector(0.0, 0.0), Mood.createTargetVector(moods));
}
}