package com.comcast.cmb.test.common.util.unit; import com.comcast.cmb.common.util.Util; import org.junit.Test; import static org.junit.Assert.*; public class ValidUnicodeTest { public static final String EMOJI_SAMPLE = "😀😁AA😉😯BB"; public static final char HIGH = '\uD83D'; public static final char LOW = '\uDE33'; public static final String INTACT_NORMAL_SURROGATE = "A😀"+HIGH+LOW+"😯"; public static final String WRONG_SINGLE_HIGH_SURROGATE = "A😀"+HIGH+"😯"; public static final String WRONG_SINGLE_LOW_SURROGATE = "A😀"+LOW+"😯"; public static final String WRONG_FLIPPED_SURROGATE = "A😀"+LOW+HIGH+"😯"; @Test public void testIsValidUnicode() { assertTrue(Util.isValidUnicode(EMOJI_SAMPLE)); assertTrue(Util.isValidUnicode(INTACT_NORMAL_SURROGATE)); assertFalse(Util.isValidUnicode(WRONG_SINGLE_HIGH_SURROGATE)); assertFalse(Util.isValidUnicode(INTACT_NORMAL_SURROGATE+HIGH)); assertFalse(Util.isValidUnicode(WRONG_SINGLE_LOW_SURROGATE)); assertFalse(Util.isValidUnicode(INTACT_NORMAL_SURROGATE+LOW)); assertFalse(Util.isValidUnicode(WRONG_FLIPPED_SURROGATE)); assertFalse(Util.isValidUnicode(INTACT_NORMAL_SURROGATE+LOW+HIGH)); } }