package com.kstenschke.shifter.utils; import org.apache.commons.lang.StringUtils; import org.junit.Test; import java.util.ArrayList; import java.util.List; import static org.junit.Assert.*; public class UtilsTextualTest { @Test public void testIsAllUppercase() throws Exception { assertTrue(UtilsTextual.isAllUppercase("ALL UPPERCASE SENTENCE.")); assertFalse(UtilsTextual.isAllUppercase("all lowercase sentence.")); assertFalse(UtilsTextual.isAllUppercase("aCamelCasedWord")); assertFalse(UtilsTextual.isAllUppercase("A MIXED case Sentence.")); assertFalse(UtilsTextual.isAllUppercase("some,words,separated,by,commas,all,words,are,lower-cased")); } @Test public void testIsMultiLine() throws Exception { assertTrue(UtilsTextual.isMultiLine("line one\nline two")); assertTrue(UtilsTextual.isMultiLine("\n")); assertFalse(UtilsTextual.isMultiLine("")); assertFalse(UtilsTextual.isMultiLine("A")); assertFalse(UtilsTextual.isMultiLine("A single line.")); assertFalse(UtilsTextual.isMultiLine(null)); } @Test public void testSortLines() throws Exception { // @todo implement } @Test public void testContainsCaseInSensitive() throws Exception { assertTrue(UtilsTextual.containsCaseInSensitive("hello world", "World")); assertTrue(UtilsTextual.containsCaseInSensitive("hello world", "WORLD")); assertTrue(UtilsTextual.containsCaseInSensitive("hello WORLD", "world")); assertFalse(UtilsTextual.containsCaseInSensitive("hello world", "x")); assertFalse(UtilsTextual.containsCaseInSensitive("hello world", "X")); assertFalse(UtilsTextual.containsCaseInSensitive("", "X")); assertFalse(UtilsTextual.containsCaseInSensitive(null, "X")); } @Test public void testContainsOnly() throws Exception { assertTrue(UtilsTextual.containsOnly("a", new String[]{"a"})); assertTrue(UtilsTextual.containsOnly("aa", new String[]{"a"})); assertTrue(UtilsTextual.containsOnly("aaa", new String[]{"a"})); assertTrue(UtilsTextual.containsOnly("abc", new String[]{"a", "b", "c"})); assertFalse(UtilsTextual.containsOnly("abc", new String[]{"a"})); assertFalse(UtilsTextual.containsOnly("abc", new String[]{"a", "b"})); assertFalse(UtilsTextual.containsOnly(null, new String[]{"a", "b"})); } @Test public void testIsWrappedIntoQuotes() throws Exception { assertTrue(UtilsTextual.isWrappedIntoQuotes("\"x\"")); assertTrue(UtilsTextual.isWrappedIntoQuotes("\"\"")); assertTrue(UtilsTextual.isWrappedIntoQuotes("'x'")); assertTrue(UtilsTextual.isWrappedIntoQuotes("''")); assertTrue(UtilsTextual.isWrappedIntoQuotes("\"'\"")); assertTrue(UtilsTextual.isWrappedIntoQuotes("'")); assertTrue(UtilsTextual.isWrappedIntoQuotes("\"")); assertFalse(UtilsTextual.isWrappedIntoQuotes("x")); assertFalse(UtilsTextual.isWrappedIntoQuotes(" \"x\"")); assertFalse(UtilsTextual.isWrappedIntoQuotes("\t\"x\"")); assertFalse(UtilsTextual.isWrappedIntoQuotes(null)); } @Test public void testIsWrappedWith() throws Exception { assertTrue(UtilsTextual.isWrappedWith("'", "'", false, false)); assertTrue(UtilsTextual.isWrappedWith("''", "'", true, false)); assertTrue(UtilsTextual.isWrappedWith("'hello world'", "'", true, true)); assertFalse(UtilsTextual.isWrappedWith("'", "'", true, false)); assertFalse(UtilsTextual.isWrappedWith("'", "'", true, true)); assertFalse(UtilsTextual.isWrappedWith("'", "'", false, true)); assertFalse(UtilsTextual.isWrappedWith("''", "'", true, true)); assertFalse(UtilsTextual.isWrappedWith("''", "'", false, true)); assertFalse(UtilsTextual.isWrappedWith(null, "'", false, false)); assertFalse(UtilsTextual.isWrappedWith(null, "'", true, false)); assertFalse(UtilsTextual.isWrappedWith(null, "'", true, true)); assertFalse(UtilsTextual.isWrappedWith(null, "'", false, true)); } @Test public void testContainsSlashes() throws Exception { assertTrue(UtilsTextual.containsSlashes("http://www.xxx.ch/")); assertTrue(UtilsTextual.containsSlashes("A single quote is written \\ ' and a backslash \\")); assertFalse(UtilsTextual.containsSlashes("some,words,separated,by,commas,all,words,are,lower-cased")); assertFalse(UtilsTextual.containsSlashes("all lowercase sentence")); assertFalse(UtilsTextual.containsSlashes("ALL UPPERCASE SENTENCE.")); assertFalse(UtilsTextual.containsSlashes("")); assertFalse(UtilsTextual.containsSlashes(null)); } @Test public void testContainsQuotes() throws Exception { assertTrue(UtilsTextual.containsQuotes("'")); assertTrue(UtilsTextual.containsQuotes("'This sentence is single-quoted'")); assertTrue(UtilsTextual.containsQuotes("\"This sentence is double-quoted\"")); assertFalse(UtilsTextual.containsQuotes("all lowercase sentence")); assertFalse(UtilsTextual.containsQuotes("aCamelCasedWord")); assertFalse(UtilsTextual.containsQuotes("A MIXED case Sentence.")); assertFalse(UtilsTextual.containsQuotes("")); assertFalse(UtilsTextual.containsQuotes(null)); } @Test public void testSwapSlashes() throws Exception { assertEquals(null, UtilsTextual.swapSlashes(null)); assertEquals("", UtilsTextual.swapSlashes("")); assertEquals("x", UtilsTextual.swapSlashes("x")); assertEquals("\\/", UtilsTextual.swapSlashes("/\\")); assertEquals("http://www.domain.com/", UtilsTextual.swapSlashes("http:\\\\www.domain.com\\")); assertEquals("http:\\\\www.domain.com\\", UtilsTextual.swapSlashes("http://www.domain.com/")); assertEquals(null, UtilsTextual.swapSlashes(null)); } @Test public void testSwapQuotes() throws Exception { assertEquals("", UtilsTextual.swapQuotes("")); assertEquals("\"", UtilsTextual.swapQuotes("'")); assertEquals("'", UtilsTextual.swapQuotes("\"")); assertEquals("i say \"bam\"", UtilsTextual.swapQuotes("i say \'bam\'")); assertEquals("you say \'hey\'", UtilsTextual.swapQuotes("you say \"hey\"")); assertEquals("\'hey\"BAM!\"\'", UtilsTextual.swapQuotes("\"hey\'BAM!\'\"")); assertEquals(null, UtilsTextual.swapQuotes(null)); } @Test public void testToUcFirst() throws Exception { assertEquals("Bam bam hey", UtilsTextual.toUcFirst("bam bam hey")); assertEquals("Bam bam hey", UtilsTextual.toUcFirst("Bam bam hey")); assertEquals("", UtilsTextual.toUcFirst("")); assertEquals(null, UtilsTextual.toUcFirst(null)); } @Test public void testToLcFirst() throws Exception { assertEquals("bam bam hey", UtilsTextual.toLcFirst("Bam bam hey")); assertEquals("bam bam hey", UtilsTextual.toLcFirst("bam bam hey")); assertEquals("", UtilsTextual.toLcFirst("")); assertEquals(null, UtilsTextual.toUcFirst(null)); } @Test public void testIsLcFirst() throws Exception { assertTrue(UtilsTextual.isLcFirst("bam bam hey")); assertFalse(UtilsTextual.isLcFirst("Bam bam hey")); assertFalse(UtilsTextual.isLcFirst("BAM BAM HEY")); } @Test public void testIsUcFirst() throws Exception { assertTrue(UtilsTextual.isUcFirst("Bam bam hey")); assertTrue(UtilsTextual.isUcFirst("")); assertFalse(UtilsTextual.isUcFirst("bam bam hey")); assertFalse(UtilsTextual.isUcFirst("bAM BAM HEY")); } @Test public void testIsUpperCamelCase() throws Exception { assertTrue(UtilsTextual.isUpperCamelCase("BamHey")); assertFalse(UtilsTextual.isUpperCamelCase("Bamhey")); assertFalse(UtilsTextual.isUpperCamelCase("BH")); assertFalse(UtilsTextual.isUpperCamelCase("")); assertFalse(UtilsTextual.isUpperCamelCase(null)); } @Test public void testIsLowerCamelCase() throws Exception { assertTrue(UtilsTextual.isLowerCamelCase("bamHey")); assertFalse(UtilsTextual.isLowerCamelCase("bamhey")); assertFalse(UtilsTextual.isLowerCamelCase("Bh")); assertFalse(UtilsTextual.isLowerCamelCase("bh")); assertFalse(UtilsTextual.isLowerCamelCase("BamHey")); assertFalse(UtilsTextual.isLowerCamelCase("Bamhey")); assertFalse(UtilsTextual.isLowerCamelCase("BH")); assertFalse(UtilsTextual.isLowerCamelCase("")); assertFalse(UtilsTextual.isLowerCamelCase(null)); } @Test public void testIsCamelCase() throws Exception { } @Test public void testSplitCamelCaseIntoWords() throws Exception { assertEquals("hello-World", StringUtils.join(UtilsTextual.splitCamelCaseIntoWords("helloWorld"), "-")); assertEquals("Hello-World", StringUtils.join(UtilsTextual.splitCamelCaseIntoWords("HelloWorld"), "-")); assertEquals("", StringUtils.join(UtilsTextual.splitCamelCaseIntoWords(""), "-")); assertEquals(" ", StringUtils.join(UtilsTextual.splitCamelCaseIntoWords(" "), "-")); assertEquals("", StringUtils.join(UtilsTextual.splitCamelCaseIntoWords(null), "-")); } @Test public void testGetOperatorAtOffset() throws Exception { assertEquals("+", UtilsTextual.getOperatorAtOffset("1 + 2", 2)); assertEquals("-", UtilsTextual.getOperatorAtOffset("2 - 1", 2)); assertEquals("*", UtilsTextual.getOperatorAtOffset("2 * 1", 2)); assertEquals("/", UtilsTextual.getOperatorAtOffset("2 / 1", 2)); assertEquals("%", UtilsTextual.getOperatorAtOffset("2 % 1", 2)); assertEquals("<", UtilsTextual.getOperatorAtOffset("2 < 1", 2)); assertEquals(">", UtilsTextual.getOperatorAtOffset("2 > 1", 2)); assertNull("+", UtilsTextual.getOperatorAtOffset("1 + 2", 0)); assertNull("-", UtilsTextual.getOperatorAtOffset("2 - 1", 0)); assertNull("*", UtilsTextual.getOperatorAtOffset("2 * 1", 0)); assertNull("/", UtilsTextual.getOperatorAtOffset("2 / 1", 0)); assertNull("%", UtilsTextual.getOperatorAtOffset("2 % 1", 0)); assertNull("<", UtilsTextual.getOperatorAtOffset("2 < 1", 0)); assertNull(">", UtilsTextual.getOperatorAtOffset("2 > 1", 0)); assertNull("+", UtilsTextual.getOperatorAtOffset("1 + 2", 2)); assertNull("-", UtilsTextual.getOperatorAtOffset("2 - 1", 2)); assertNull("*", UtilsTextual.getOperatorAtOffset("2 * 1", 2)); assertNull("/", UtilsTextual.getOperatorAtOffset("2 / 1", 2)); assertNull("%", UtilsTextual.getOperatorAtOffset("2 % 1", 2)); assertNull("<", UtilsTextual.getOperatorAtOffset("2 < 1", 2)); assertNull(">", UtilsTextual.getOperatorAtOffset("2 > 1", 2)); } @Test public void testGetStartOfOperatorAtOffset() throws Exception { } @Test public void testGetWordAtOffset() throws Exception { // assertEquals("bam", UtilsTextual.getWordAtOffset("bam lam, ding, dong, what a bam.", 0)); // assertEquals("lam", UtilsTextual.getWordAtOffset("bam lam, ding, dong, what a bam.", 5)); // assertEquals("ding", UtilsTextual.getWordAtOffset("bam lam, ding, dong, what a bam.", 10)); // // assertEquals(null, UtilsTextual.getWordAtOffset("bam lam, ding, dong, what a bam.", -1)); } @Test public void testIsJavaIdentifierPart() throws Exception { } @Test public void testGetSubString() throws Exception { } @Test public void testGetCharBeforeOffset() throws Exception { } @Test public void testGetCharAfterOffset() throws Exception { } @Test public void testGetStartOfWordAtOffset() throws Exception { } @Test public void testExtractLines() throws Exception { } @Test public void testExtractLine() throws Exception { } @Test public void testExtractLineAroundOffset() throws Exception { assertEquals("bam bam,", UtilsTextual.getLineAtOffset("bam bam,\ney,\nwhat a bam.", 3)); assertEquals("ey,", UtilsTextual.getLineAtOffset("bam bam,\ney,\nwhat a bam.", 10)); assertEquals("what a bam.", UtilsTextual.getLineAtOffset("bam bam,\ney,\nwhat a bam.", 15)); } @Test public void testJoinLines() throws Exception { List<String> lines = new ArrayList<String>(); lines.add("what"); lines.add("a"); lines.add("bam"); assertEquals("whatabam", UtilsTextual.joinLines(lines).toString()); } @Test public void testRemoveLineBreaks() throws Exception { assertEquals("bam bam,ey,what a bam.", UtilsTextual.removeLineBreaks("bam bam,\ney,\nwhat a bam.")); assertEquals("bam bam,ey,what a bam.", UtilsTextual.removeLineBreaks("bam bam,\rey,\rwhat a bam.")); assertEquals("bam bam,ey,what a bam.", UtilsTextual.removeLineBreaks("bam bam,\ney,\rwhat a bam.")); assertEquals("bam bam,ey,what a bam.", UtilsTextual.removeLineBreaks("bam bam,\n\rey,\n\rwhat a bam.")); } @Test public void testReplaceLast() throws Exception { assertEquals("bam bam, ey, what a bam.", UtilsTextual.replaceLast("bam bam, ey, what a bam bam.", " bam", "")); assertEquals("bam bam, ey hey", UtilsTextual.replaceLast("bam bam, ey hey", "x", "y")); } @Test public void testFormatAmountDigits() throws Exception { assertEquals(5, UtilsTextual.formatAmountDigits("7", 5).length()); assertEquals(5, UtilsTextual.formatAmountDigits("55", 5).length()); assertEquals(5, UtilsTextual.formatAmountDigits("321", 5).length()); assertEquals(2, UtilsTextual.formatAmountDigits("55", 1).length()); assertEquals(3, UtilsTextual.formatAmountDigits("321", 1).length()); } @Test public void testIsLetter() throws Exception { } @Test public void testIsCamelIdentifierPart() throws Exception { } @Test public void testGetEndOfWordAtOffset() throws Exception { } @Test public void testGetLine() throws Exception { } @Test public void testGetLineAtOffset() throws Exception { } @Test public void testHasDuplicateLines() throws Exception { } @Test public void testReduceDuplicateLines() throws Exception { } @Test public void testGetLeadingWhitespace() throws Exception { } @Test public void testExtractPhpVariables() throws Exception { } @Test public void testExtractQuotedStrings() throws Exception { } @Test public void testGetPregMatches() throws Exception { } @Test public void testGuessDataTypeByName() throws Exception { } }