/** * Copyright 2005-2016 Red Hat, Inc. * * Red Hat licenses this file to you under the Apache License, version * 2.0 (the "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. */ package io.fabric8.utils; import java.util.List; import org.junit.Assert; import org.junit.Test; import static org.junit.Assert.assertEquals; public class StringsTest { @Test public void notEmptyTest() { Assert.assertTrue(Strings.notEmpty("Some text")); Assert.assertTrue(Strings.notEmpty(" ")); Assert.assertFalse(Strings.notEmpty("")); Assert.assertFalse(Strings.notEmpty(null)); } @Test public void nullIfEmptyTest() { Assert.assertNotNull(Strings.nullIfEmpty("Some text")); Assert.assertNotNull(Strings.nullIfEmpty(" ")); Assert.assertNull(Strings.nullIfEmpty("")); Assert.assertNull(Strings.nullIfEmpty(null)); } @Test public void emptyIfNullTest() { assertEquals("Some text", Strings.emptyIfNull("Some text")); assertEquals(" ", Strings.emptyIfNull(" ")); assertEquals("", Strings.emptyIfNull("")); assertEquals("", Strings.emptyIfNull(null)); } @Test public void defaultIfEmptyTest() { assertEquals("Some text", Strings.defaultIfEmpty("Some text", "default")); assertEquals(" ", Strings.defaultIfEmpty(" ", "default")); assertEquals("default", Strings.defaultIfEmpty("", "default")); assertEquals("default", Strings.defaultIfEmpty(null, "default")); } @Test public void splitAsListTest() { List<String> list = Strings.splitAsList("a,b, c ,d", ","); Assert.assertTrue(list.size() == 4); assertEquals("a", list.get(0)); assertEquals("b", list.get(1)); assertEquals(" c ", list.get(2)); assertEquals("d", list.get(3)); list = Strings.splitAsList("a,b,c;,d,", ";"); Assert.assertTrue(list.size() == 2); list = Strings.splitAsList("a,b,c;,d,", "~"); Assert.assertTrue(list.size() == 1); list = Strings.splitAsList(null, "~"); Assert.assertTrue(list.size() == 0); list = Strings.splitAsList("", null); Assert.assertTrue(list.size() == 0); try { Strings.splitAsList("a,b,c,d", null); Assert.fail("Expected NullPointerException but nothing happened"); } catch(NullPointerException e) { //OK } } @Test public void splitAndTrimAsListTest() { List<String> list = Strings.splitAndTrimAsList(" a , b , c , d ", ","); Assert.assertTrue(list.size() == 4); assertEquals("a", list.get(0)); assertEquals("b", list.get(1)); assertEquals("c", list.get(2)); assertEquals("d", list.get(3)); list = Strings.splitAndTrimAsList("a,b,c;,d,", ";"); Assert.assertTrue(list.size() == 2); list = Strings.splitAndTrimAsList("a,b,c;,d,", "~"); Assert.assertTrue(list.size() == 1); list = Strings.splitAndTrimAsList(null, "~"); Assert.assertTrue(list.size() == 0); list = Strings.splitAndTrimAsList("", null); Assert.assertTrue(list.size() == 0); try { Strings.splitAndTrimAsList("a,b,c,d", null); Assert.fail("Expected NullPointerException but nothing happened"); } catch(NullPointerException e) { //OK } } @Test public void joinTest() { assertEquals("a,b,3,d,1.2,f,null", Strings.join(",", "a", "b", 3, "d", 1.2d, "f", null)); assertEquals("a b 3d1.2fnull", Strings.join("", "a", " b ", 3, "d", 1.2d, "f", null)); assertEquals("", Strings.join("")); } @Test public void joinNotNullTest() { assertEquals("a,b,3,d,1.2,f", Strings.joinNotNull(",", "a", "b", 3, "d", 1.2d, "f", null)); assertEquals("a b 3d1.2f", Strings.joinNotNull("", "a", " b ", 3, "d", 1.2d, "f", null)); assertEquals("", Strings.joinNotNull("")); } @Test public void toStringTest() { assertEquals("foobar", Strings.toString("foobar")); assertEquals("12345", Strings.toString(12345)); assertEquals("null", Strings.toString(null)); } @Test public void unquoteTest() { assertEquals("foobar", Strings.unquote("\"foobar\"")); assertEquals("\"foobar\"", Strings.unquote("\"\"foobar\"\"")); assertEquals("'foobar'", Strings.unquote("'foobar'")); Assert.assertNull(Strings.unquote(null)); } @Test public void isNullOrBlankTest() { Assert.assertTrue(Strings.isNullOrBlank(null)); Assert.assertTrue(Strings.isNullOrBlank("")); Assert.assertTrue(Strings.isNullOrBlank(" ")); Assert.assertTrue(Strings.isNullOrBlank(" ")); Assert.assertFalse(Strings.isNullOrBlank("foobar")); } @Test public void isNotBlankTest() { Assert.assertFalse(Strings.isNotBlank(null)); Assert.assertFalse(Strings.isNotBlank("")); Assert.assertFalse(Strings.isNotBlank(" ")); Assert.assertFalse(Strings.isNotBlank(" ")); Assert.assertTrue(Strings.isNotBlank("foobar")); } @Test public void parseDelimitedStringTest() { List<String> list = Strings.parseDelimitedString("a,b,3, d ,some space ,f", ","); Assert.assertTrue(list.size() == 6); assertEquals("a", list.get(0)); assertEquals("b", list.get(1)); assertEquals("3", list.get(2)); assertEquals("d", list.get(3)); assertEquals("some space", list.get(4)); assertEquals("f", list.get(5)); list = Strings.parseDelimitedString("a,b,3, d ,some space ,f", ",", false); Assert.assertTrue(list.size() == 6); assertEquals("a", list.get(0)); assertEquals("b", list.get(1)); assertEquals("3", list.get(2)); assertEquals(" d ", list.get(3)); assertEquals("some space ", list.get(4)); assertEquals("f", list.get(5)); } @Test public void testCamelCase() throws Exception { assertEquals("fooBarWhatnot", Strings.convertToCamelCase("foo-bar-whatnot", "-")); assertEquals("fooBarWhatnot", Strings.convertToCamelCase("foo--bar-whatnot", "-")); } @Test public void testReplaceAllWithoutRegex() throws Exception { assertEquals("bar-123-bar-bar", Strings.replaceAllWithoutRegex("foo-123-foo-foo", "foo","bar")); assertEquals("-barbar-", Strings.replaceAllWithoutRegex("-foofoo-", "foo","bar")); assertEquals("foo {{'{{'}} bar {{'{{'}} whatnot", Strings.replaceAllWithoutRegex("foo {{ bar {{ whatnot", "{{", "{{'{{'}}")); assertEquals("-bar-barbar-bar", Strings.replaceAllWithoutRegex("-foo-foofoo-foo", "foo","bar")); } }