package cc.blynk.utils; import org.junit.Test; import static cc.blynk.utils.StringUtils.BODY_SEPARATOR_STRING; import static cc.blynk.utils.StringUtils.split3; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; /** * The Blynk Project. * Created by Dmitriy Dumanskiy. * Created on 2/18/2015. */ public class StringUtilsTest { @Test public void testCorrectFastNewSplit() { String in = "ar 1 2 3 4 5 6".replaceAll(" ", "\0"); String res = StringUtils.fetchPin(in); assertNotNull(res); assertEquals("1", res); in = "ar 22222".replaceAll(" ", "\0"); res = StringUtils.fetchPin(in); assertNotNull(res); assertEquals("22222", res); in = "1 1".replaceAll(" ", "\0"); res = StringUtils.fetchPin(in); assertNotNull(res); assertEquals("", res); } @Test public void testCorrectSplit3() { String[] res = StringUtils.split3("aw 1 2".replaceAll(" ", StringUtils.BODY_SEPARATOR_STRING)); assertEquals("aw", res[0]); assertEquals("1", res[1]); assertEquals("2", res[2]); res = StringUtils.split3("dw 11 22".replaceAll(" ", StringUtils.BODY_SEPARATOR_STRING)); assertEquals("dw", res[0]); assertEquals("11", res[1]); assertEquals("22", res[2]); String s = "sdfsafdfdgfjdasfjds;lfjd;lsf dsfld;las fd;slaj fd;lsfj das"; res = StringUtils.split3("vw 255 ".replaceAll(" ", StringUtils.BODY_SEPARATOR_STRING) + s); assertEquals("vw", res[0]); assertEquals("255", res[1]); assertEquals(s, res[2]); s = "sdfsafdfdgfjdasfjds;lfjd;lsf\0dsfld;las\0fd;slaj\0fd;lsfj\0das"; res = StringUtils.split3("vw 255 ".replaceAll(" ", StringUtils.BODY_SEPARATOR_STRING) + s); assertEquals("vw", res[0]); assertEquals("255", res[1]); assertEquals(s, res[2]); } @Test public void splitOk() { String body = "vw 1 123".replaceAll(" ", "\0"); String[] stringSplitResult = body.split(BODY_SEPARATOR_STRING, 3); String[] customSplitResult = split3(body); assertArrayEquals(stringSplitResult, customSplitResult); body = "vw 1 123 124".replaceAll(" ", "\0"); stringSplitResult = body.split(BODY_SEPARATOR_STRING, 3); customSplitResult = split3(body); assertArrayEquals(stringSplitResult, customSplitResult); body = "vw".replaceAll(" ", "\0"); stringSplitResult = body.split(BODY_SEPARATOR_STRING, 3); customSplitResult = split3(body); assertArrayEquals(stringSplitResult, customSplitResult); body = "1 vw".replaceAll(" ", "\0"); stringSplitResult = body.split(BODY_SEPARATOR_STRING, 3); customSplitResult = split3(body); assertArrayEquals(stringSplitResult, customSplitResult); body = "vw 2".replaceAll(" ", "\0"); stringSplitResult = body.split(BODY_SEPARATOR_STRING, 3); customSplitResult = split3(body); assertArrayEquals(stringSplitResult, customSplitResult); body = "2 vw 2 222".replaceAll(" ", "\0"); stringSplitResult = body.split(BODY_SEPARATOR_STRING, 3); customSplitResult = split3(body); assertArrayEquals(stringSplitResult, customSplitResult); } }