KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sourceforge > cruisecontrol > distributed > util > PropertiesHelperTest


1 /****************************************************************************
2 * CruiseControl, a Continuous Integration Toolkit
3 * Copyright (c) 2001, ThoughtWorks, Inc.
4 * 651 W Washington Ave. Suite 600
5 * Chicago, IL 60661 USA
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * + Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 *
15 * + Redistributions in binary form must reproduce the above
16 * copyright notice, this list of conditions and the following
17 * disclaimer in the documentation and/or other materials provided
18 * with the distribution.
19 *
20 * + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
21 * names of its contributors may be used to endorse or promote
22 * products derived from this software without specific prior
23 * written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
29 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 ****************************************************************************/

37
38 package net.sourceforge.cruisecontrol.distributed.util;
39
40 import java.util.Map JavaDoc;
41
42 import junit.framework.TestCase;
43
44 public class PropertiesHelperTest extends TestCase {
45     private static final String JavaDoc TEST_PROPERTIES_FILENAME = "testdist.properties";
46     private static final String JavaDoc TEST_PROP_NAME = "testProperty";
47
48     public void testLoadOptionalProperties() {
49         Map JavaDoc propertiesMap = PropertiesHelper.loadOptionalProperties(TEST_PROPERTIES_FILENAME);
50         assertNotNull(propertiesMap);
51         String JavaDoc value = (String JavaDoc) propertiesMap.get(TEST_PROP_NAME);
52         assertEquals("true", value);
53
54         propertiesMap = PropertiesHelper.loadOptionalProperties("bogus.properties");
55         assertNotNull(propertiesMap);
56         value = (String JavaDoc) propertiesMap.get(TEST_PROP_NAME);
57         assertNull(value);
58     }
59
60     public void testLoadRequiredProperties() {
61         Map JavaDoc propertiesMap = PropertiesHelper.loadRequiredProperties(TEST_PROPERTIES_FILENAME);
62         assertNotNull(propertiesMap);
63         String JavaDoc value = (String JavaDoc) propertiesMap.get(TEST_PROP_NAME);
64         assertEquals("true", value);
65
66         try {
67             propertiesMap = PropertiesHelper.loadRequiredProperties("bogus.properties");
68             fail("Should throw RuntimeException when a required properties file is not found");
69         } catch (RuntimeException JavaDoc e) {
70             // Expected
71
assertEquals("Failed to load required properties file 'bogus.properties'",
72                 e.getMessage());
73         }
74     }
75
76 }
77
Popular Tags