12ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair/* 22ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Copyright 2007 the original author or authors. 32ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * 42ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Licensed under the Apache License, Version 2.0 (the "License"); 52ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * you may not use this file except in compliance with the License. 62ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * You may obtain a copy of the License at 72ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * 82ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * http://www.apache.org/licenses/LICENSE-2.0 92ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * 102ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Unless required by applicable law or agreed to in writing, software 112ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * distributed under the License is distributed on an "AS IS" BASIS, 122ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * See the License for the specific language governing permissions and 142ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * limitations under the License. 152ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 162ab05e83458f35931075adca0d7b0fce4ea7cccbchrismairpackage org.mockftpserver.core.util; 172ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 182ab05e83458f35931075adca0d7b0fce4ea7cccbchrismairimport java.util.Collection; 192ab05e83458f35931075adca0d7b0fce4ea7cccbchrismairimport java.util.Map; 202ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 212ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair/** 222ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Provides static helper methods to make runtime assertions. Throws an 232ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * <code>AssertFailedException</code> when the assertion fails. All methods are static. 242ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * 252ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @version $Revision$ - $Date$ 262ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * 272ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @author Chris Mair 282ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 292ab05e83458f35931075adca0d7b0fce4ea7cccbchrismairpublic final class Assert { 302ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 312ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 322ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Verify that arg is null. Throw an AssertFailedException if it is not null. 332ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param arg - the method parameter value 342ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param argName - the name of the parameter; used in the exception message 352ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @throws AssertFailedException - if arg is not null 362ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 372ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair public static void isNull(Object arg, String argName) { 382ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair if (arg != null) { 392ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair throw new AssertFailedException("The value for \"" + argName + "\" must be null"); 402ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 412ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 422ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 432ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 442ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Verify that arg is not null. Throw an AssertFailedException if it is null. 452ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param arg - the method parameter value 462ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param argName - the name of the parameter; used in the exception message 472ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @throws AssertFailedException - if arg is null 482ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 492ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair public static void notNull(Object arg, String argName) { 502ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair if (arg == null) { 512ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair throw new AssertFailedException("The value of \"" + argName + "\" is null"); 522ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 532ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 542ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 552ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 562ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Verify that condition is true. Throw an AssertFailedException if it is false. 572ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param condition - the condition that should be true 582ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @throws AssertFailedException - if condition is false 592ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 602ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair public static void isTrue(boolean condition, String message) { 612ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair if (!condition) { 622ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair throw new AssertFailedException(message); 632ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 642ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 652ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 662ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 672ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Verify that condition is false. Throw an AssertFailedException if it is true. 682ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param condition - the condition that should be false 692ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @throws AssertFailedException - if condition is true 702ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 712ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair public static void isFalse(boolean condition, String message) { 722ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair if (condition) { 732ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair throw new AssertFailedException(message); 742ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 752ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 762ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 772ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 782ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Verify that the collection is not null or empty. Throw an 792ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * AssertFailedException if it is null or empty. 802ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param collection - the Collection 812ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param argName - the name of the parameter; used in the exception message 822ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @throws AssertFailedException - if collection is null or empty 832ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 842ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair public static void notNullOrEmpty(Collection collection, String argName) { 852ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair notNull(collection, argName); 862ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair if (collection.isEmpty()) { 872ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair throw new AssertFailedException("The \"" + argName + "\" Collection is empty"); 882ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 892ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 902ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 912ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 922ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Verify that the Map is not null or empty. Throw an AssertFailedException 932ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * if it is null or empty. 942ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param map - the Map 952ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param argName - the name of the parameter; used in the exception message 962ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @throws AssertFailedException - if map is null or empty 972ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 982ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair public static void notNullOrEmpty(Map map, String argName) { 992ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair notNull(map, argName); 1002ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair if (map.isEmpty()) { 1012ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair throw new AssertFailedException("The \"" + argName + "\" Map is empty"); 1022ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 1032ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 1042ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 1052ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 1062ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Verify that the array is not null or empty. Throw an 1072ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * AssertFailedException if it is null or empty. 1082ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param array - the array 1092ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param argName - the name of the parameter; used in the exception message 1102ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @throws AssertFailedException - if array is null or empty 1112ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 1122ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair public static void notNullOrEmpty(Object[] array, String argName) { 1132ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair notNull(array, argName); 1142ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair if (array.length == 0) { 1152ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair throw new AssertFailedException("The \"" + argName + "\" array is empty"); 1162ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 1172ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 1182ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 1192ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 1202ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Verify that the String is not null or empty. Throw an 1212ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * AssertFailedException if it is null or empty. 1222ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param string - the String 1232ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @param argName - the name of the parameter; used in the exception message 1242ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * @throws AssertFailedException - if string is null or empty 1252ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 1262ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair public static void notNullOrEmpty(String string, String argName) { 1272ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair notNull(string, argName); 1282ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair if (string.trim().length() == 0) { 1292ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair throw new AssertFailedException("The \"" + argName + "\" String is empty"); 1302ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 1312ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 1322ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair 1332ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair /** 1342ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair * Private constructor. All methods are static 1352ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair */ 1362ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair private Assert() { 1372ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair } 1382ab05e83458f35931075adca0d7b0fce4ea7cccbchrismair} 139