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