From c897457716cdb3619cd1d60e89845728e69eb2bf Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 05 Jan 2012 17:02:56 -0500 Subject: [PATCH] Added ArrayUtils class and unit test --- src/com/gitblit/utils/ArrayUtils.java | 36 ++++++++++++++++++ tests/com/gitblit/tests/ArrayUtilsTest.java | 67 +++++++++++++++++++++++++++++++++ tests/com/gitblit/tests/GitBlitSuite.java | 11 +++-- 3 files changed, 109 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/utils/ArrayUtils.java b/src/com/gitblit/utils/ArrayUtils.java new file mode 100644 index 0000000..635d27a --- /dev/null +++ b/src/com/gitblit/utils/ArrayUtils.java @@ -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; + } +} diff --git a/tests/com/gitblit/tests/ArrayUtilsTest.java b/tests/com/gitblit/tests/ArrayUtilsTest.java new file mode 100644 index 0000000..8a38afb --- /dev/null +++ b/tests/com/gitblit/tests/ArrayUtilsTest.java @@ -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)); + } +} \ No newline at end of file diff --git a/tests/com/gitblit/tests/GitBlitSuite.java b/tests/com/gitblit/tests/GitBlitSuite.java index f094a85..f697c17 100644 --- a/tests/com/gitblit/tests/GitBlitSuite.java +++ b/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"); -- Gitblit v1.9.1