⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testjorphanutils.java

📁 测试工具
💻 JAVA
字号:
/*
 * 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 to test JOrphanUtils methods 
 */
     
package org.apache.jorphan.util;

import junit.framework.TestCase;

public class TestJorphanUtils extends TestCase {

    public TestJorphanUtils() {
        super();
    }

    public TestJorphanUtils(String arg0) {
        super(arg0);
    }
    
        public void testReplace1() {
            assertEquals("xyzdef", JOrphanUtils.replaceFirst("abcdef", "abc", "xyz"));
        }

        public void testReplace2() {
            assertEquals("axyzdef", JOrphanUtils.replaceFirst("abcdef", "bc", "xyz"));
        }

        public void testReplace3() {
            assertEquals("abcxyz", JOrphanUtils.replaceFirst("abcdef", "def", "xyz"));
        }

        public void testReplace4() {
            assertEquals("abcdef", JOrphanUtils.replaceFirst("abcdef", "bce", "xyz"));
        }

        public void testReplace5() {
            assertEquals("abcdef", JOrphanUtils.replaceFirst("abcdef", "alt=\"\" ", ""));
        }

        public void testReplace6() {
            assertEquals("abcdef", JOrphanUtils.replaceFirst("abcdef", "alt=\"\" ", ""));
        }

        public void testReplace7() {
            assertEquals("alt=\"\"", JOrphanUtils.replaceFirst("alt=\"\"", "alt=\"\" ", ""));
        }

        public void testReplace8() {
            assertEquals("img src=xyz ", JOrphanUtils.replaceFirst("img src=xyz alt=\"\" ", "alt=\"\" ", ""));
        }

        // Tests for split(String,String,boolean)
        public void testSplit1() {
            String in = "a,bc,,"; // Test ignore trailing split characters
            String out[] = JOrphanUtils.split(in, ",",true);// Ignore adjacent delimiters
            assertEquals(2, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            out = JOrphanUtils.split(in, ",",false);
            assertEquals("Should detect the trailing split chars; ", 4, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            assertEquals("", out[2]);
            assertEquals("", out[3]);
        }

        public void testSplit2() {
            String in = ",,a,bc"; // Test leading split characters
            String out[] = JOrphanUtils.split(in, ",",true);
            assertEquals(2, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            out = JOrphanUtils.split(in, ",",false);
            assertEquals("Should detect the leading split chars; ", 4, out.length);
            assertEquals("", out[0]);
            assertEquals("", out[1]);
            assertEquals("a", out[2]);
            assertEquals("bc", out[3]);
        }
        
        public void testSplit3() {
            String in = "a,bc,,"; // Test ignore trailing split characters
            String out[] = JOrphanUtils.split(in, ",",true);// Ignore adjacent delimiters
            assertEquals(2, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            out = JOrphanUtils.split(in, ",",false);
            assertEquals("Should detect the trailing split chars; ", 4, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            assertEquals("", out[2]);
            assertEquals("", out[3]);
        }

        public void testSplit4() {
            String in = " , ,a ,bc"; // Test leading split characters
            String out[] = JOrphanUtils.split(in, " ,",true);
            assertEquals(2, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            out = JOrphanUtils.split(in, " ,",false);
            assertEquals("Should detect the leading split chars; ", 4, out.length);
            assertEquals("", out[0]);
            assertEquals("", out[1]);
            assertEquals("a", out[2]);
            assertEquals("bc", out[3]);
        }
        
        public void testTruncate() throws Exception
        {
            String in = "a;,b;,;,;,d;,e;,;,f";
            String[] out = JOrphanUtils.split(in,";,",true);
            assertEquals(5, out.length);
            assertEquals("a",out[0]);
            assertEquals("b",out[1]);
            assertEquals("d",out[2]);
            assertEquals("e",out[3]);
            assertEquals("f",out[4]);
            out = JOrphanUtils.split(in,";,",false);
            assertEquals(8, out.length);
            assertEquals("a",out[0]);
            assertEquals("b",out[1]);
            assertEquals("", out[2]);
            assertEquals("", out[3]);
            assertEquals("d",out[4]);
            assertEquals("e",out[5]);
            assertEquals("", out[6]);
            assertEquals("f",out[7]);
            
        }

        public void testSplit5() throws Exception
        {
            String in = "a;;b;;;;;;d;;e;;;;f";
            String[] out = JOrphanUtils.split(in,";;",true);
            assertEquals(5, out.length);
            assertEquals("a",out[0]);
            assertEquals("b",out[1]);
            assertEquals("d",out[2]);
            assertEquals("e",out[3]);
            assertEquals("f",out[4]);
            out = JOrphanUtils.split(in,";;",false);
            assertEquals(8, out.length);
            assertEquals("a",out[0]);
            assertEquals("b",out[1]);
            assertEquals("", out[2]);
            assertEquals("", out[3]);
            assertEquals("d",out[4]);
            assertEquals("e",out[5]);
            assertEquals("", out[6]);
            assertEquals("f",out[7]);
            
        }

        // Tests for split(String,String,String)
        public void testSplitSSS1() {
            String in = "a,bc,,"; // Test non-empty parameters
            String out[] = JOrphanUtils.split(in, ",","?");
            assertEquals(4, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            assertEquals("?", out[2]);
            assertEquals("?", out[3]);
        }

        public void testSplitSSS2() {
            String in = "a,bc,,"; // Empty default
            String out[] = JOrphanUtils.split(in, ",","");
            assertEquals(4, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            assertEquals("", out[2]);
            assertEquals("", out[3]);
        }

        public void testSplitSSS3() {
            String in = "a,bc,,"; // Empty delimiter
            String out[] = JOrphanUtils.split(in, "","?");
            assertEquals(1, out.length);
            assertEquals(in, out[0]);
        }

        public void testSplitSSS4() {
            String in = "a,b;c,,"; // Multiple delimiters
            String out[];
            out = JOrphanUtils.split(in, ",;","?");
            assertEquals(5, out.length);
            assertEquals("a", out[0]);
            assertEquals("b", out[1]);
            assertEquals("c", out[2]);
            assertEquals("?", out[3]);
            assertEquals("?", out[4]);
            out = JOrphanUtils.split(in, ",;","");
            assertEquals(5, out.length);
            assertEquals("a", out[0]);
            assertEquals("b", out[1]);
            assertEquals("c", out[2]);
            assertEquals("", out[3]);
            assertEquals("", out[4]);
        }

        public void testSplitSSS5() {
            String in = "a,bc,,"; // Delimiter same as splitter
            String out[] = JOrphanUtils.split(in, ",",",");
            assertEquals(4, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
            assertEquals(",", out[2]);
            assertEquals(",", out[3]);
        }

        public void testSplitSSSNulls() {
            String in = "a,bc,,";
            String out[];
            try {
                out = JOrphanUtils.split(null, ",","?");
                assertEquals(0, out.length);
                fail("Expecting NullPointerException");
            } catch (NullPointerException ignored){
                //Ignored
            }
            try{
                out = JOrphanUtils.split(in, null,"?");
                assertEquals(0, out.length);
                fail("Expecting NullPointerException");
            } catch (NullPointerException ignored){
                //Ignored
            }
        }

        public void testSplitSSSNull() {
            String out[];
            out = JOrphanUtils.split("a,bc,,", ",",null);
            assertEquals(2, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);

            out = JOrphanUtils.split("a,;bc,;,", ",;",null);
            assertEquals(2, out.length);
            assertEquals("a", out[0]);
            assertEquals("bc", out[1]);
        }

        public void testSplitSSSNone() {
            String out[];
            out = JOrphanUtils.split("", "," ,"x");
            assertEquals(0, out.length);

            out = JOrphanUtils.split("a,;bc,;,", "","x");
            assertEquals(1, out.length);
            assertEquals("a,;bc,;,", out[0]);
        }

        public void testreplaceAllChars(){
            assertEquals(JOrphanUtils.replaceAllChars("",' ', "+"),"");
            String in,out;
            in="source";
            assertEquals(JOrphanUtils.replaceAllChars(in,' ', "+"),in);
            out="so+rce";
            assertEquals(JOrphanUtils.replaceAllChars(in,'u', "+"),out);
            in="A B  C "; out="A+B++C+";
            assertEquals(JOrphanUtils.replaceAllChars(in,' ', "+"),out);
        }
        
        public void testTrim(){
            assertEquals("",JOrphanUtils.trim("", " ;"));
            assertEquals("",JOrphanUtils.trim(" ", " ;"));
            assertEquals("",JOrphanUtils.trim("; ", " ;"));
            assertEquals("",JOrphanUtils.trim(";;", " ;"));
            assertEquals("",JOrphanUtils.trim("  ", " ;"));
            assertEquals("abc",JOrphanUtils.trim("abc ;", " ;"));
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -