View Javadoc

1   /*
2    * $Id: AbstractBasePropertyConfigurationTestCase.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.config.spring.parsers.assembly;
12  
13  import org.mule.config.spring.parsers.assembly.configuration.PrefixValueMap;
14  import org.mule.config.spring.parsers.assembly.configuration.PropertyConfiguration;
15  
16  import java.util.HashMap;
17  import java.util.Map;
18  
19  import junit.framework.TestCase;
20  
21  public abstract class AbstractBasePropertyConfigurationTestCase extends TestCase
22  {
23  
24      public static final String ALIAS = "Alias";
25      public static final String NAME = "Name";
26      public static final String COLLECTION = "Collection";
27      public static final String IGNORED = "Ignored";
28      public static final String NOT_IGNORED = "Not Ignored";
29      public static final String MAP_CAPS = "MapCaps";
30      public static final String MAP_DIGITS = "MapNumbers";
31      public static final String MAP_PREFIX = "MapPrefix";
32      public static final String REFERENCE = "Reference";
33      public static final String UNUSED = "Unused";
34  
35      public static final String TO_DIGITS = "one=1,two=2,three=3";
36      public static final Map TO_CAPS;
37      public static final String PREFIX = "prefix";
38  
39      static {
40          TO_CAPS = new HashMap();
41          String alphabet = "abcdefghijklmnopqrstuvwxyz";
42          for (int i = 0; i < alphabet.length(); i++)
43          {
44              String letter = alphabet.substring(i, i+1);
45              TO_CAPS.put(letter.toLowerCase(), letter.toUpperCase());
46          }
47      }
48  
49      protected void setTestValues(String prefix, PropertyConfiguration config)
50      {
51          config.addAlias(prefix + ALIAS, prefix + NAME);
52          config.addCollection(prefix + COLLECTION);
53          config.addIgnored(prefix + IGNORED);
54          config.removeIgnored(prefix + NOT_IGNORED);
55          config.addMapping(prefix + MAP_CAPS, TO_CAPS);
56          config.addMapping(prefix + MAP_DIGITS, TO_DIGITS);
57          config.addMapping(prefix + MAP_PREFIX, new PrefixValueMap(PREFIX));
58          config.addReference(prefix + REFERENCE);
59      }
60  
61      protected void verifyTestValues(String prefix, PropertyConfiguration config)
62      {
63          assertEquals(prefix + NAME, config.getAttributeMapping(prefix + ALIAS));
64          assertEquals(prefix + NAME, config.translateName(prefix + ALIAS));
65          assertEquals(prefix + UNUSED, config.getAttributeMapping(prefix + UNUSED));
66          assertEquals(true, config.isCollection(prefix + COLLECTION));
67          assertEquals(false, config.isCollection(prefix + UNUSED));
68          assertEquals(true, config.isIgnored(prefix + IGNORED));
69          assertEquals(false, config.isIgnored(prefix + UNUSED));
70          assertEquals(false, config.isIgnored(prefix + NOT_IGNORED));
71          assertEquals("A", config.translateValue(prefix + MAP_CAPS, "a"));
72          assertEquals("a", config.translateValue(prefix + UNUSED, "a"));
73          assertEquals("Z", config.translateValue(prefix + MAP_CAPS, "z"));
74          assertEquals("z", config.translateValue(prefix + UNUSED, "z"));
75          assertEquals("1", config.translateValue(prefix + MAP_CAPS, "1"));
76          assertEquals("1", config.translateValue(prefix + MAP_DIGITS, "one"));
77          assertEquals("2", config.translateValue(prefix + MAP_DIGITS, "two"));
78          assertEquals("3", config.translateValue(prefix + MAP_DIGITS, "three"));
79          assertEquals("four", config.translateValue(prefix + MAP_DIGITS, "four"));
80          assertEquals("one", config.translateValue(prefix + UNUSED, "one"));
81          assertEquals(PREFIX + "foo", config.translateValue(prefix + MAP_PREFIX, "foo"));
82      }
83  
84      protected void verifyIgnored(String prefix, PropertyConfiguration config)
85      {
86          config.setIgnoredDefault(false);
87          assertEquals(true, config.isIgnored(prefix + IGNORED));
88          assertEquals(false, config.isIgnored(prefix + UNUSED));
89          assertEquals(false, config.isIgnored(prefix + NOT_IGNORED));
90          config.setIgnoredDefault(true);
91          assertEquals(true, config.isIgnored(prefix + IGNORED));
92          assertEquals(true, config.isIgnored(prefix + UNUSED));
93          assertEquals(false, config.isIgnored(prefix + NOT_IGNORED));
94          config.setIgnoredDefault(false);
95          config.removeIgnored(prefix + IGNORED);
96          assertEquals(false, config.isIgnored(prefix + IGNORED));
97          config.addIgnored(prefix + IGNORED);
98      }
99  
100     protected void verifyMissing(String prefix, PropertyConfiguration config)
101     {
102         assertEquals(prefix + ALIAS, config.getAttributeMapping(prefix + ALIAS));
103         assertEquals(prefix + ALIAS, config.translateName(prefix + ALIAS));
104         assertEquals(prefix + UNUSED, config.getAttributeMapping(prefix + UNUSED));
105         assertEquals(false, config.isCollection(prefix + COLLECTION));
106         assertEquals(false, config.isCollection(prefix + UNUSED));
107         assertEquals(false, config.isIgnored(prefix + IGNORED));
108         assertEquals(false, config.isIgnored(prefix + UNUSED));
109         assertEquals("a", config.translateValue(prefix + MAP_CAPS, "a"));
110         assertEquals("a", config.translateValue(prefix + UNUSED, "a"));
111         assertEquals("z", config.translateValue(prefix + MAP_CAPS, "z"));
112         assertEquals("z", config.translateValue(prefix + UNUSED, "z"));
113         assertEquals("1", config.translateValue(prefix + MAP_CAPS, "1"));
114         assertEquals("one", config.translateValue(prefix + MAP_DIGITS, "one"));
115         assertEquals("two", config.translateValue(prefix + MAP_DIGITS, "two"));
116         assertEquals("three", config.translateValue(prefix + MAP_DIGITS, "three"));
117         assertEquals("four", config.translateValue(prefix + MAP_DIGITS, "four"));
118         assertEquals("one", config.translateValue(prefix + UNUSED, "one"));
119         assertEquals("foo", config.translateValue(prefix + MAP_PREFIX, "foo"));
120     }
121 
122 }