package com.kennycason.kumo;
import com.kennycason.kumo.font.KumoFont;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import java.awt.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* Created by kenny on 6/14/16.
*/
@Category(IntegrationTest.class)
public class EmojiWordCloudITest {
private static final Random RANDOM = new Random();
@Test
public void emojiCloud() throws IOException {
final Dimension dimension = new Dimension(250, 250);
final WordCloud wordCloud = new WordCloud(dimension, CollisionMode.PIXEL_PERFECT);
// Load font from file
// wordCloud.setKumoFont(new KumoFont(new File("/Users/kenny/Downloads/OpenSansEmoji.ttf")));
// Load font from resource
wordCloud.setKumoFont(new KumoFont(EmojiWordCloudITest.class.getResourceAsStream("/font/OpenSansEmoji.ttf")));
wordCloud.setPadding(2);
wordCloud.build(buildWordFrequencies());
wordCloud.writeToFile("output/wordcloud_emoji.png");
}
private static List<WordFrequency> buildWordFrequencies() {
final List<WordFrequency> wordFrequencies = new ArrayList<>();
for (final String emoji : EMOJIS) {
wordFrequencies.add(new WordFrequency(emoji, RANDOM.nextInt(250)));
}
return wordFrequencies;
}
private static final String[] EMOJIS = {
"emoji",
"kumo",
"\uD83D\uDE02",
"\uD83D\uDC4D",
"\uD83D\uDE0A",
"\uD83D\uDE01",
"\uD83D\uDE12",
"\uD83D\uDE11",
"\uD83D\uDE0D",
"\uD83D\uDC4C",
"\uD83D\uDC55",
"\uD83D\uDCAA",
"\uD83D\uDE4C",
"\uD83D\uDE2D",
"\uD83D\uDE29",
"\uD83D\uDE21",
"\uD83D\uDD25",
"\uD83D\uDE33",
"\uD83D\uDD25",
"\uD83D\uDE21",
"\uD83D\uDCA9",
"\uD83D\uDC7B",
"\uD83D\uDC7D",
"\uD83D\uDC57",
"\uD83D\uDD25",
"\uD83C\uDF53",
"\uD83C\uDFB1",
"\uD83C\uDFA7",
"\uD83D\uDE91",
"\uD83C\uDFEB",
"\uD83D\uDCBE",
"\uD83D\uDCAF",
"\uD83D\uDE32",
"\uD83D\uDE31",
"\uD83D\uDE0F",
"\uD83D\uDC44",
"\uD83D\uDC40 "
};
}