153295844df24dff0a1f59e1104795e640b54c2efchrismair/* 253295844df24dff0a1f59e1104795e640b54c2efchrismair * Copyright 2007 the original author or authors. 353295844df24dff0a1f59e1104795e640b54c2efchrismair * 453295844df24dff0a1f59e1104795e640b54c2efchrismair * Licensed under the Apache License, Version 2.0 (the "License"); 553295844df24dff0a1f59e1104795e640b54c2efchrismair * you may not use this file except in compliance with the License. 653295844df24dff0a1f59e1104795e640b54c2efchrismair * You may obtain a copy of the License at 753295844df24dff0a1f59e1104795e640b54c2efchrismair * 853295844df24dff0a1f59e1104795e640b54c2efchrismair * http://www.apache.org/licenses/LICENSE-2.0 953295844df24dff0a1f59e1104795e640b54c2efchrismair * 1053295844df24dff0a1f59e1104795e640b54c2efchrismair * Unless required by applicable law or agreed to in writing, software 1153295844df24dff0a1f59e1104795e640b54c2efchrismair * distributed under the License is distributed on an "AS IS" BASIS, 1253295844df24dff0a1f59e1104795e640b54c2efchrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1353295844df24dff0a1f59e1104795e640b54c2efchrismair * See the License for the specific language governing permissions and 1453295844df24dff0a1f59e1104795e640b54c2efchrismair * limitations under the License. 1553295844df24dff0a1f59e1104795e640b54c2efchrismair */ 1653295844df24dff0a1f59e1104795e640b54c2efchrismairpackage org.mockftpserver.core.util; 1753295844df24dff0a1f59e1104795e640b54c2efchrismair 1853295844df24dff0a1f59e1104795e640b54c2efchrismairimport java.util.Collection; 1953295844df24dff0a1f59e1104795e640b54c2efchrismairimport java.util.Map; 2053295844df24dff0a1f59e1104795e640b54c2efchrismair 2153295844df24dff0a1f59e1104795e640b54c2efchrismair/** 2253295844df24dff0a1f59e1104795e640b54c2efchrismair * Provides static helper methods to make runtime assertions. Throws an 2353295844df24dff0a1f59e1104795e640b54c2efchrismair * <code>AssertFailedException</code> when the assertion fails. All methods are static. 2453295844df24dff0a1f59e1104795e640b54c2efchrismair * 2553295844df24dff0a1f59e1104795e640b54c2efchrismair * @version $Revision$ - $Date$ 2653295844df24dff0a1f59e1104795e640b54c2efchrismair * 2753295844df24dff0a1f59e1104795e640b54c2efchrismair * @author Chris Mair 2853295844df24dff0a1f59e1104795e640b54c2efchrismair */ 2953295844df24dff0a1f59e1104795e640b54c2efchrismairpublic final class Assert { 3053295844df24dff0a1f59e1104795e640b54c2efchrismair 3153295844df24dff0a1f59e1104795e640b54c2efchrismair /** 3253295844df24dff0a1f59e1104795e640b54c2efchrismair * Verify that arg is null. Throw an AssertFailedException if it is not null. 3353295844df24dff0a1f59e1104795e640b54c2efchrismair * @param arg - the method parameter value 3453295844df24dff0a1f59e1104795e640b54c2efchrismair * @param argName - the name of the parameter; used in the exception message 3553295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if arg is not null 3653295844df24dff0a1f59e1104795e640b54c2efchrismair */ 3753295844df24dff0a1f59e1104795e640b54c2efchrismair public static void isNull(Object arg, String argName) { 3853295844df24dff0a1f59e1104795e640b54c2efchrismair if (arg != null) { 3953295844df24dff0a1f59e1104795e640b54c2efchrismair throw new AssertFailedException("The value for \"" + argName + "\" must be null"); 4053295844df24dff0a1f59e1104795e640b54c2efchrismair } 4153295844df24dff0a1f59e1104795e640b54c2efchrismair } 4253295844df24dff0a1f59e1104795e640b54c2efchrismair 4353295844df24dff0a1f59e1104795e640b54c2efchrismair /** 4453295844df24dff0a1f59e1104795e640b54c2efchrismair * Verify that arg is not null. Throw an AssertFailedException if it is null. 4553295844df24dff0a1f59e1104795e640b54c2efchrismair * @param arg - the method parameter value 4653295844df24dff0a1f59e1104795e640b54c2efchrismair * @param argName - the name of the parameter; used in the exception message 4753295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if arg is null 4853295844df24dff0a1f59e1104795e640b54c2efchrismair */ 4953295844df24dff0a1f59e1104795e640b54c2efchrismair public static void notNull(Object arg, String argName) { 5053295844df24dff0a1f59e1104795e640b54c2efchrismair if (arg == null) { 5153295844df24dff0a1f59e1104795e640b54c2efchrismair throw new AssertFailedException("The value of \"" + argName + "\" is null"); 5253295844df24dff0a1f59e1104795e640b54c2efchrismair } 5353295844df24dff0a1f59e1104795e640b54c2efchrismair } 5453295844df24dff0a1f59e1104795e640b54c2efchrismair 5553295844df24dff0a1f59e1104795e640b54c2efchrismair /** 5653295844df24dff0a1f59e1104795e640b54c2efchrismair * Verify that condition is true. Throw an AssertFailedException if it is false. 5753295844df24dff0a1f59e1104795e640b54c2efchrismair * @param condition - the condition that should be true 5853295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if condition is false 5953295844df24dff0a1f59e1104795e640b54c2efchrismair */ 6053295844df24dff0a1f59e1104795e640b54c2efchrismair public static void isTrue(boolean condition, String message) { 6153295844df24dff0a1f59e1104795e640b54c2efchrismair if (!condition) { 6253295844df24dff0a1f59e1104795e640b54c2efchrismair throw new AssertFailedException(message); 6353295844df24dff0a1f59e1104795e640b54c2efchrismair } 6453295844df24dff0a1f59e1104795e640b54c2efchrismair } 6553295844df24dff0a1f59e1104795e640b54c2efchrismair 6653295844df24dff0a1f59e1104795e640b54c2efchrismair /** 6753295844df24dff0a1f59e1104795e640b54c2efchrismair * Verify that condition is false. Throw an AssertFailedException if it is true. 6853295844df24dff0a1f59e1104795e640b54c2efchrismair * @param condition - the condition that should be false 6953295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if condition is true 7053295844df24dff0a1f59e1104795e640b54c2efchrismair */ 7153295844df24dff0a1f59e1104795e640b54c2efchrismair public static void isFalse(boolean condition, String message) { 7253295844df24dff0a1f59e1104795e640b54c2efchrismair if (condition) { 7353295844df24dff0a1f59e1104795e640b54c2efchrismair throw new AssertFailedException(message); 7453295844df24dff0a1f59e1104795e640b54c2efchrismair } 7553295844df24dff0a1f59e1104795e640b54c2efchrismair } 7653295844df24dff0a1f59e1104795e640b54c2efchrismair 7753295844df24dff0a1f59e1104795e640b54c2efchrismair /** 7853295844df24dff0a1f59e1104795e640b54c2efchrismair * Verify that the collection is not null or empty. Throw an 7953295844df24dff0a1f59e1104795e640b54c2efchrismair * AssertFailedException if it is null or empty. 8053295844df24dff0a1f59e1104795e640b54c2efchrismair * @param collection - the Collection 8153295844df24dff0a1f59e1104795e640b54c2efchrismair * @param argName - the name of the parameter; used in the exception message 8253295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if collection is null or empty 8353295844df24dff0a1f59e1104795e640b54c2efchrismair */ 8453295844df24dff0a1f59e1104795e640b54c2efchrismair public static void notNullOrEmpty(Collection collection, String argName) { 8553295844df24dff0a1f59e1104795e640b54c2efchrismair notNull(collection, argName); 8653295844df24dff0a1f59e1104795e640b54c2efchrismair if (collection.isEmpty()) { 8753295844df24dff0a1f59e1104795e640b54c2efchrismair throw new AssertFailedException("The \"" + argName + "\" Collection is empty"); 8853295844df24dff0a1f59e1104795e640b54c2efchrismair } 8953295844df24dff0a1f59e1104795e640b54c2efchrismair } 9053295844df24dff0a1f59e1104795e640b54c2efchrismair 9153295844df24dff0a1f59e1104795e640b54c2efchrismair /** 9253295844df24dff0a1f59e1104795e640b54c2efchrismair * Verify that the Map is not null or empty. Throw an AssertFailedException 9353295844df24dff0a1f59e1104795e640b54c2efchrismair * if it is null or empty. 9453295844df24dff0a1f59e1104795e640b54c2efchrismair * @param map - the Map 9553295844df24dff0a1f59e1104795e640b54c2efchrismair * @param argName - the name of the parameter; used in the exception message 9653295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if map is null or empty 9753295844df24dff0a1f59e1104795e640b54c2efchrismair */ 9853295844df24dff0a1f59e1104795e640b54c2efchrismair public static void notNullOrEmpty(Map map, String argName) { 9953295844df24dff0a1f59e1104795e640b54c2efchrismair notNull(map, argName); 10053295844df24dff0a1f59e1104795e640b54c2efchrismair if (map.isEmpty()) { 10153295844df24dff0a1f59e1104795e640b54c2efchrismair throw new AssertFailedException("The \"" + argName + "\" Map is empty"); 10253295844df24dff0a1f59e1104795e640b54c2efchrismair } 10353295844df24dff0a1f59e1104795e640b54c2efchrismair } 10453295844df24dff0a1f59e1104795e640b54c2efchrismair 10553295844df24dff0a1f59e1104795e640b54c2efchrismair /** 10653295844df24dff0a1f59e1104795e640b54c2efchrismair * Verify that the array is not null or empty. Throw an 10753295844df24dff0a1f59e1104795e640b54c2efchrismair * AssertFailedException if it is null or empty. 10853295844df24dff0a1f59e1104795e640b54c2efchrismair * @param array - the array 10953295844df24dff0a1f59e1104795e640b54c2efchrismair * @param argName - the name of the parameter; used in the exception message 11053295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if array is null or empty 11153295844df24dff0a1f59e1104795e640b54c2efchrismair */ 11253295844df24dff0a1f59e1104795e640b54c2efchrismair public static void notNullOrEmpty(Object[] array, String argName) { 11353295844df24dff0a1f59e1104795e640b54c2efchrismair notNull(array, argName); 11453295844df24dff0a1f59e1104795e640b54c2efchrismair if (array.length == 0) { 11553295844df24dff0a1f59e1104795e640b54c2efchrismair throw new AssertFailedException("The \"" + argName + "\" array is empty"); 11653295844df24dff0a1f59e1104795e640b54c2efchrismair } 11753295844df24dff0a1f59e1104795e640b54c2efchrismair } 11853295844df24dff0a1f59e1104795e640b54c2efchrismair 11953295844df24dff0a1f59e1104795e640b54c2efchrismair /** 12053295844df24dff0a1f59e1104795e640b54c2efchrismair * Verify that the String is not null or empty. Throw an 12153295844df24dff0a1f59e1104795e640b54c2efchrismair * AssertFailedException if it is null or empty. 12253295844df24dff0a1f59e1104795e640b54c2efchrismair * @param string - the String 12353295844df24dff0a1f59e1104795e640b54c2efchrismair * @param argName - the name of the parameter; used in the exception message 12453295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if string is null or empty 12553295844df24dff0a1f59e1104795e640b54c2efchrismair */ 12653295844df24dff0a1f59e1104795e640b54c2efchrismair public static void notNullOrEmpty(String string, String argName) { 12753295844df24dff0a1f59e1104795e640b54c2efchrismair notNull(string, argName); 12853295844df24dff0a1f59e1104795e640b54c2efchrismair if (string.trim().length() == 0) { 12953295844df24dff0a1f59e1104795e640b54c2efchrismair throw new AssertFailedException("The \"" + argName + "\" String is empty"); 13053295844df24dff0a1f59e1104795e640b54c2efchrismair } 13153295844df24dff0a1f59e1104795e640b54c2efchrismair } 13253295844df24dff0a1f59e1104795e640b54c2efchrismair 13353295844df24dff0a1f59e1104795e640b54c2efchrismair /** 13453295844df24dff0a1f59e1104795e640b54c2efchrismair * Private constructor. All methods are static 13553295844df24dff0a1f59e1104795e640b54c2efchrismair */ 13653295844df24dff0a1f59e1104795e640b54c2efchrismair private Assert() { 13753295844df24dff0a1f59e1104795e640b54c2efchrismair } 13853295844df24dff0a1f59e1104795e640b54c2efchrismair} 139