/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF 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 org.apache.commons.lang3; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.lang.reflect.Constructor; import java.lang.reflect.Modifier; import org.junit.Test; /** * Unit tests {@link org.apache.commons.lang3.CharSetUtils}. * * @version $Id$ */ public class CharSetUtilsTest { //----------------------------------------------------------------------- @Test public void testConstructor() { assertNotNull(new CharSetUtils()); final Constructor<?>[] cons = CharSetUtils.class.getDeclaredConstructors(); assertEquals(1, cons.length); assertTrue(Modifier.isPublic(cons[0].getModifiers())); assertTrue(Modifier.isPublic(CharSetUtils.class.getModifiers())); assertFalse(Modifier.isFinal(CharSetUtils.class.getModifiers())); } //----------------------------------------------------------------------- @Test public void testSqueeze_StringString() { assertEquals(null, CharSetUtils.squeeze(null, (String) null)); assertEquals(null, CharSetUtils.squeeze(null, "")); assertEquals("", CharSetUtils.squeeze("", (String) null)); assertEquals("", CharSetUtils.squeeze("", "")); assertEquals("", CharSetUtils.squeeze("", "a-e")); assertEquals("hello", CharSetUtils.squeeze("hello", (String) null)); assertEquals("hello", CharSetUtils.squeeze("hello", "")); assertEquals("hello", CharSetUtils.squeeze("hello", "a-e")); assertEquals("helo", CharSetUtils.squeeze("hello", "l-p")); assertEquals("heloo", CharSetUtils.squeeze("helloo", "l")); assertEquals("hello", CharSetUtils.squeeze("helloo", "^l")); } @Test public void testSqueeze_StringStringarray() { assertEquals(null, CharSetUtils.squeeze(null, (String[]) null)); assertEquals(null, CharSetUtils.squeeze(null, new String[0])); assertEquals(null, CharSetUtils.squeeze(null, new String[] {null})); assertEquals(null, CharSetUtils.squeeze(null, new String[] {"el"})); assertEquals("", CharSetUtils.squeeze("", (String[]) null)); assertEquals("", CharSetUtils.squeeze("", new String[0])); assertEquals("", CharSetUtils.squeeze("", new String[] {null})); assertEquals("", CharSetUtils.squeeze("", new String[] {"a-e"})); assertEquals("hello", CharSetUtils.squeeze("hello", (String[]) null)); assertEquals("hello", CharSetUtils.squeeze("hello", new String[0])); assertEquals("hello", CharSetUtils.squeeze("hello", new String[] {null})); assertEquals("hello", CharSetUtils.squeeze("hello", new String[] {"a-e"})); assertEquals("helo", CharSetUtils.squeeze("hello", new String[] { "el" })); assertEquals("hello", CharSetUtils.squeeze("hello", new String[] { "e" })); assertEquals("fofof", CharSetUtils.squeeze("fooffooff", new String[] { "of" })); assertEquals("fof", CharSetUtils.squeeze("fooooff", new String[] { "fo" })); } //----------------------------------------------------------------------- @Test public void testContainsAny_StringString() { assertFalse(CharSetUtils.containsAny(null, (String) null)); assertFalse(CharSetUtils.containsAny(null, "")); assertFalse(CharSetUtils.containsAny("", (String) null)); assertFalse(CharSetUtils.containsAny("", "")); assertFalse(CharSetUtils.containsAny("", "a-e")); assertFalse(CharSetUtils.containsAny("hello", (String) null)); assertFalse(CharSetUtils.containsAny("hello", "")); assertTrue(CharSetUtils.containsAny("hello", "a-e")); assertTrue(CharSetUtils.containsAny("hello", "l-p")); } @Test public void testContainsAny_StringStringarray() { assertFalse(CharSetUtils.containsAny(null, (String[]) null)); assertFalse(CharSetUtils.containsAny(null, new String[0])); assertFalse(CharSetUtils.containsAny(null, new String[] {null})); assertFalse(CharSetUtils.containsAny(null, new String[] {"a-e"})); assertFalse(CharSetUtils.containsAny("", (String[]) null)); assertFalse(CharSetUtils.containsAny("", new String[0])); assertFalse(CharSetUtils.containsAny("", new String[] {null})); assertFalse(CharSetUtils.containsAny("", new String[] {"a-e"})); assertFalse(CharSetUtils.containsAny("hello", (String[]) null)); assertFalse(CharSetUtils.containsAny("hello", new String[0])); assertFalse(CharSetUtils.containsAny("hello", new String[] {null})); assertTrue(CharSetUtils.containsAny("hello", new String[] {"a-e"})); assertTrue(CharSetUtils.containsAny("hello", new String[] { "el" })); assertFalse(CharSetUtils.containsAny("hello", new String[] { "x" })); assertTrue(CharSetUtils.containsAny("hello", new String[] { "e-i" })); assertTrue(CharSetUtils.containsAny("hello", new String[] { "a-z" })); assertFalse(CharSetUtils.containsAny("hello", new String[] { "" })); } //----------------------------------------------------------------------- @Test public void testCount_StringString() { assertEquals(0, CharSetUtils.count(null, (String) null)); assertEquals(0, CharSetUtils.count(null, "")); assertEquals(0, CharSetUtils.count("", (String) null)); assertEquals(0, CharSetUtils.count("", "")); assertEquals(0, CharSetUtils.count("", "a-e")); assertEquals(0, CharSetUtils.count("hello", (String) null)); assertEquals(0, CharSetUtils.count("hello", "")); assertEquals(1, CharSetUtils.count("hello", "a-e")); assertEquals(3, CharSetUtils.count("hello", "l-p")); } @Test public void testCount_StringStringarray() { assertEquals(0, CharSetUtils.count(null, (String[]) null)); assertEquals(0, CharSetUtils.count(null, new String[0])); assertEquals(0, CharSetUtils.count(null, new String[] {null})); assertEquals(0, CharSetUtils.count(null, new String[] {"a-e"})); assertEquals(0, CharSetUtils.count("", (String[]) null)); assertEquals(0, CharSetUtils.count("", new String[0])); assertEquals(0, CharSetUtils.count("", new String[] {null})); assertEquals(0, CharSetUtils.count("", new String[] {"a-e"})); assertEquals(0, CharSetUtils.count("hello", (String[]) null)); assertEquals(0, CharSetUtils.count("hello", new String[0])); assertEquals(0, CharSetUtils.count("hello", new String[] {null})); assertEquals(1, CharSetUtils.count("hello", new String[] {"a-e"})); assertEquals(3, CharSetUtils.count("hello", new String[] { "el" })); assertEquals(0, CharSetUtils.count("hello", new String[] { "x" })); assertEquals(2, CharSetUtils.count("hello", new String[] { "e-i" })); assertEquals(5, CharSetUtils.count("hello", new String[] { "a-z" })); assertEquals(0, CharSetUtils.count("hello", new String[] { "" })); } //----------------------------------------------------------------------- @Test public void testKeep_StringString() { assertEquals(null, CharSetUtils.keep(null, (String) null)); assertEquals(null, CharSetUtils.keep(null, "")); assertEquals("", CharSetUtils.keep("", (String) null)); assertEquals("", CharSetUtils.keep("", "")); assertEquals("", CharSetUtils.keep("", "a-e")); assertEquals("", CharSetUtils.keep("hello", (String) null)); assertEquals("", CharSetUtils.keep("hello", "")); assertEquals("", CharSetUtils.keep("hello", "xyz")); assertEquals("hello", CharSetUtils.keep("hello", "a-z")); assertEquals("hello", CharSetUtils.keep("hello", "oleh")); assertEquals("ell", CharSetUtils.keep("hello", "el")); } @Test public void testKeep_StringStringarray() { assertEquals(null, CharSetUtils.keep(null, (String[]) null)); assertEquals(null, CharSetUtils.keep(null, new String[0])); assertEquals(null, CharSetUtils.keep(null, new String[] {null})); assertEquals(null, CharSetUtils.keep(null, new String[] {"a-e"})); assertEquals("", CharSetUtils.keep("", (String[]) null)); assertEquals("", CharSetUtils.keep("", new String[0])); assertEquals("", CharSetUtils.keep("", new String[] {null})); assertEquals("", CharSetUtils.keep("", new String[] {"a-e"})); assertEquals("", CharSetUtils.keep("hello", (String[]) null)); assertEquals("", CharSetUtils.keep("hello", new String[0])); assertEquals("", CharSetUtils.keep("hello", new String[] {null})); assertEquals("e", CharSetUtils.keep("hello", new String[] {"a-e"})); assertEquals("e", CharSetUtils.keep("hello", new String[] { "a-e" })); assertEquals("ell", CharSetUtils.keep("hello", new String[] { "el" })); assertEquals("hello", CharSetUtils.keep("hello", new String[] { "elho" })); assertEquals("hello", CharSetUtils.keep("hello", new String[] { "a-z" })); assertEquals("----", CharSetUtils.keep("----", new String[] { "-" })); assertEquals("ll", CharSetUtils.keep("hello", new String[] { "l" })); } //----------------------------------------------------------------------- @Test public void testDelete_StringString() { assertEquals(null, CharSetUtils.delete(null, (String) null)); assertEquals(null, CharSetUtils.delete(null, "")); assertEquals("", CharSetUtils.delete("", (String) null)); assertEquals("", CharSetUtils.delete("", "")); assertEquals("", CharSetUtils.delete("", "a-e")); assertEquals("hello", CharSetUtils.delete("hello", (String) null)); assertEquals("hello", CharSetUtils.delete("hello", "")); assertEquals("hllo", CharSetUtils.delete("hello", "a-e")); assertEquals("he", CharSetUtils.delete("hello", "l-p")); assertEquals("hello", CharSetUtils.delete("hello", "z")); } @Test public void testDelete_StringStringarray() { assertEquals(null, CharSetUtils.delete(null, (String[]) null)); assertEquals(null, CharSetUtils.delete(null, new String[0])); assertEquals(null, CharSetUtils.delete(null, new String[] {null})); assertEquals(null, CharSetUtils.delete(null, new String[] {"el"})); assertEquals("", CharSetUtils.delete("", (String[]) null)); assertEquals("", CharSetUtils.delete("", new String[0])); assertEquals("", CharSetUtils.delete("", new String[] {null})); assertEquals("", CharSetUtils.delete("", new String[] {"a-e"})); assertEquals("hello", CharSetUtils.delete("hello", (String[]) null)); assertEquals("hello", CharSetUtils.delete("hello", new String[0])); assertEquals("hello", CharSetUtils.delete("hello", new String[] {null})); assertEquals("hello", CharSetUtils.delete("hello", new String[] {"xyz"})); assertEquals("ho", CharSetUtils.delete("hello", new String[] { "el" })); assertEquals("", CharSetUtils.delete("hello", new String[] { "elho" })); assertEquals("hello", CharSetUtils.delete("hello", new String[] { "" })); assertEquals("hello", CharSetUtils.delete("hello", "")); assertEquals("", CharSetUtils.delete("hello", new String[] { "a-z" })); assertEquals("", CharSetUtils.delete("----", new String[] { "-" })); assertEquals("heo", CharSetUtils.delete("hello", new String[] { "l" })); } }