James Moger
2012-01-05 c897457716cdb3619cd1d60e89845728e69eb2bf
Added ArrayUtils class and unit test
2 files added
1 files modified
114 ■■■■■ changed files
src/com/gitblit/utils/ArrayUtils.java 36 ●●●●● patch | view | raw | blame | history
tests/com/gitblit/tests/ArrayUtilsTest.java 67 ●●●●● patch | view | raw | blame | history
tests/com/gitblit/tests/GitBlitSuite.java 11 ●●●● patch | view | raw | blame | history
src/com/gitblit/utils/ArrayUtils.java
New file
@@ -0,0 +1,36 @@
/*
 * Copyright 2012 gitblit.com.
 *
 * Licensed 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 com.gitblit.utils;
import java.util.Collection;
/**
 * Utility class for arrays and collections.
 *
 * @author James Moger
 *
 */
public class ArrayUtils {
    public static boolean isEmpty(Object [] array) {
        return array == null || array.length == 0;
    }
    public static boolean isEmpty(Collection<?> collection) {
        return collection == null || collection.size() == 0;
    }
}
tests/com/gitblit/tests/ArrayUtilsTest.java
New file
@@ -0,0 +1,67 @@
/*
 * Copyright 2012 gitblit.com.
 *
 * Licensed 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 com.gitblit.tests;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.junit.Test;
import com.gitblit.utils.ArrayUtils;
public class ArrayUtilsTest {
    @Test
    public void testArrays() {
        Object [] nullArray = null;
        assertTrue(ArrayUtils.isEmpty(nullArray));
        Object [] emptyArray = new Object[0];
        assertTrue(ArrayUtils.isEmpty(emptyArray));
        assertFalse(ArrayUtils.isEmpty(new String [] { "" }));
    }
    @Test
    public void testLists() {
        List<?> nullList = null;
        assertTrue(ArrayUtils.isEmpty(nullList));
        List<?> emptyList = new ArrayList<Object>();
        assertTrue(ArrayUtils.isEmpty(emptyList));
        List<?> list = Arrays.asList("");
        assertFalse(ArrayUtils.isEmpty(list));
    }
    @Test
    public void testSets() {
        Set<?> nullSet = null;
        assertTrue(ArrayUtils.isEmpty(nullSet));
        Set<?> emptySet = new HashSet<Object>();
        assertTrue(ArrayUtils.isEmpty(emptySet));
        Set<?> set = new HashSet<Object>(Arrays.asList(""));
        assertFalse(ArrayUtils.isEmpty(set));
    }
}
tests/com/gitblit/tests/GitBlitSuite.java
@@ -47,11 +47,12 @@
 * 
 */
@RunWith(Suite.class)
@SuiteClasses({ FileUtilsTest.class, TimeUtilsTest.class, StringUtilsTest.class, Base64Test.class,
        JsonUtilsTest.class, ByteFormatTest.class, ObjectCacheTest.class, UserServiceTest.class,
        MarkdownUtilsTest.class, JGitUtilsTest.class, SyndicationUtilsTest.class,
        DiffUtilsTest.class, MetricUtilsTest.class, TicgitUtilsTest.class, GitBlitTest.class,
        FederationTests.class, RpcTests.class, GitServletTest.class, GroovyScriptTest.class })
@SuiteClasses({ ArrayUtilsTest.class, FileUtilsTest.class, TimeUtilsTest.class,
        StringUtilsTest.class, Base64Test.class, JsonUtilsTest.class, ByteFormatTest.class,
        ObjectCacheTest.class, UserServiceTest.class, MarkdownUtilsTest.class, JGitUtilsTest.class,
        SyndicationUtilsTest.class, DiffUtilsTest.class, MetricUtilsTest.class,
        TicgitUtilsTest.class, GitBlitTest.class, FederationTests.class, RpcTests.class,
        GitServletTest.class, GroovyScriptTest.class })
public class GitBlitSuite {
    public static final File REPOSITORIES = new File("git");