1a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair/* 2a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Copyright 2007 the original author or authors. 3a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * 4a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Licensed under the Apache License, Version 2.0 (the "License"); 5a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * you may not use this file except in compliance with the License. 6a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * You may obtain a copy of the License at 7a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * 8a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * http://www.apache.org/licenses/LICENSE-2.0 9a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * 10a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Unless required by applicable law or agreed to in writing, software 11a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * distributed under the License is distributed on an "AS IS" BASIS, 12a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * See the License for the specific language governing permissions and 14a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * limitations under the License. 15a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 16a0ad464efff5f5e2d2523a3522cce6823ce05858chrismairpackage org.mockftpserver.core.util; 17a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 18a0ad464efff5f5e2d2523a3522cce6823ce05858chrismairimport java.util.Collection; 19a0ad464efff5f5e2d2523a3522cce6823ce05858chrismairimport java.util.Map; 20a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 21a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair/** 22a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Provides static helper methods to make runtime assertions. Throws an 23a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * <code>AssertFailedException</code> when the assertion fails. All methods are static. 24a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * 25a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @version $Revision$ - $Date$ 26a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * 27a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @author Chris Mair 28a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 29a0ad464efff5f5e2d2523a3522cce6823ce05858chrismairpublic final class Assert { 30a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 31a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 32a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Verify that arg is null. Throw an AssertFailedException if it is not null. 33a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param arg - the method parameter value 34a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param argName - the name of the parameter; used in the exception message 35a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @throws AssertFailedException - if arg is not null 36a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 37a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair public static void isNull(Object arg, String argName) { 38a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair if (arg != null) { 39a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair throw new AssertFailedException("The value for \"" + argName + "\" must be null"); 40a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 41a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 42a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 43a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 44a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Verify that arg is not null. Throw an AssertFailedException if it is null. 45a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param arg - the method parameter value 46a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param argName - the name of the parameter; used in the exception message 47a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @throws AssertFailedException - if arg is null 48a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 49a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair public static void notNull(Object arg, String argName) { 50a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair if (arg == null) { 51a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair throw new AssertFailedException("The value of \"" + argName + "\" is null"); 52a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 53a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 54a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 55a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 56a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Verify that condition is true. Throw an AssertFailedException if it is false. 57a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param condition - the condition that should be true 58a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @throws AssertFailedException - if condition is false 59a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 60a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair public static void isTrue(boolean condition, String message) { 61a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair if (!condition) { 62a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair throw new AssertFailedException(message); 63a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 64a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 65a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 66a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 67a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Verify that condition is false. Throw an AssertFailedException if it is true. 68a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param condition - the condition that should be false 69a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @throws AssertFailedException - if condition is true 70a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 71a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair public static void isFalse(boolean condition, String message) { 72a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair if (condition) { 73a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair throw new AssertFailedException(message); 74a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 75a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 76a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 77a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 78a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Verify that the collection is not null or empty. Throw an 79a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * AssertFailedException if it is null or empty. 80a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param collection - the Collection 81a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param argName - the name of the parameter; used in the exception message 82a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @throws AssertFailedException - if collection is null or empty 83a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 84a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair public static void notNullOrEmpty(Collection collection, String argName) { 85a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair notNull(collection, argName); 86a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair if (collection.isEmpty()) { 87a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair throw new AssertFailedException("The \"" + argName + "\" Collection is empty"); 88a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 89a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 90a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 91a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 92a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Verify that the Map is not null or empty. Throw an AssertFailedException 93a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * if it is null or empty. 94a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param map - the Map 95a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param argName - the name of the parameter; used in the exception message 96a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @throws AssertFailedException - if map is null or empty 97a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 98a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair public static void notNullOrEmpty(Map map, String argName) { 99a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair notNull(map, argName); 100a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair if (map.isEmpty()) { 101a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair throw new AssertFailedException("The \"" + argName + "\" Map is empty"); 102a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 103a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 104a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 105a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 106a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Verify that the array is not null or empty. Throw an 107a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * AssertFailedException if it is null or empty. 108a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param array - the array 109a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param argName - the name of the parameter; used in the exception message 110a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @throws AssertFailedException - if array is null or empty 111a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 112a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair public static void notNullOrEmpty(Object[] array, String argName) { 113a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair notNull(array, argName); 114a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair if (array.length == 0) { 115a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair throw new AssertFailedException("The \"" + argName + "\" array is empty"); 116a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 117a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 118a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 119a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 120a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Verify that the String is not null or empty. Throw an 121a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * AssertFailedException if it is null or empty. 122a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param string - the String 123a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @param argName - the name of the parameter; used in the exception message 124a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * @throws AssertFailedException - if string is null or empty 125a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 126a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair public static void notNullOrEmpty(String string, String argName) { 127a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair notNull(string, argName); 128a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair if (string.trim().length() == 0) { 129a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair throw new AssertFailedException("The \"" + argName + "\" String is empty"); 130a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 131a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 132a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair 133a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair /** 134a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair * Private constructor. All methods are static 135a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair */ 136a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair private Assert() { 137a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair } 138a0ad464efff5f5e2d2523a3522cce6823ce05858chrismair} 139