package me.moodcat.api; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; /** * @author Jaap Heijligers */ public class ProfanityCheckerTest { private static final String PROFANITY_PUNCTUATION = "fuck this shit!"; private static final String PROFANITY_PUNCTUATION_CENSORED = "**** this ****!"; final static String PROFANITY_WORD = "fuck"; final static String PROFANITY_WORD_CENSORED = "****"; final static String PROFANITY_STRING = "leopard pig shit eagle"; final static String PROFANITY_STRING_CENSORED = "leopard pig **** eagle"; final static String PROFANITY_CAPITALS = "sHiT"; final static String PROFANITY_CAPITALS_CENSORED = "****"; final static String PROFANITY_LEET = "5h17"; final static String PROFANITY_LEET_CENSORED = "****"; private ProfanityChecker profanityChecker; @Before public void before() { profanityChecker = new ProfanityChecker(); } @Test public void testProfanityWord() { assertEquals(PROFANITY_WORD_CENSORED, profanityChecker.clearProfanity(PROFANITY_WORD)); } @Test public void testProfanityString() { assertEquals(PROFANITY_STRING_CENSORED, profanityChecker.clearProfanity(PROFANITY_STRING)); } @Test public void testProfanityCapitals() { assertEquals(PROFANITY_CAPITALS_CENSORED, profanityChecker.clearProfanity(PROFANITY_CAPITALS)); } @Test public void testProfanityLeet() { assertEquals(PROFANITY_LEET_CENSORED, profanityChecker.clearProfanity(PROFANITY_LEET)); } @Test public void testProfanityWithPunctuation() { assertEquals(PROFANITY_PUNCTUATION_CENSORED, profanityChecker.clearProfanity(PROFANITY_PUNCTUATION)); } @Test(timeout = 1000) public void testProfanityCanProcessAtLeast250MessagesPerSecond() { for (int i = 0; i < 250; i++) { profanityChecker.clearProfanity(PROFANITY_PUNCTUATION); } } }