Home | History | Annotate | Download | only in base
      1 /*
      2  * Copyright (C) 2006 The Guava Authors
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  * http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.google.common.base;
     18 
     19 import static com.google.common.base.CaseFormat.LOWER_CAMEL;
     20 import static com.google.common.base.CaseFormat.LOWER_HYPHEN;
     21 import static com.google.common.base.CaseFormat.LOWER_UNDERSCORE;
     22 import static com.google.common.base.CaseFormat.UPPER_CAMEL;
     23 import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE;
     24 
     25 import com.google.common.annotations.GwtCompatible;
     26 
     27 import junit.framework.TestCase;
     28 
     29 /**
     30  * Unit test for {@link CaseFormat}.
     31  *
     32  * @author Mike Bostock
     33  */
     34 @GwtCompatible
     35 public class CaseFormatTest extends TestCase {
     36 
     37   public void testIdentity() {
     38     for (CaseFormat from : CaseFormat.values()) {
     39       assertSame(from + " to " + from, "foo", from.to(from, "foo"));
     40       for (CaseFormat to : CaseFormat.values()) {
     41         assertEquals(from + " to " + to, "", from.to(to, ""));
     42         assertEquals(from + " to " + to, " ", from.to(to, " "));
     43       }
     44     }
     45   }
     46 
     47   public void testNullPointer() {
     48     try {
     49       LOWER_CAMEL.to(null, "");
     50       fail();
     51     } catch (NullPointerException expected) {}
     52     try {
     53       LOWER_CAMEL.to(LOWER_HYPHEN, null);
     54       fail();
     55     } catch (NullPointerException expected) {}
     56   }
     57 
     58   public void testLowerHyphenToLowerHyphen() {
     59     assertEquals("foo", LOWER_HYPHEN.to(LOWER_HYPHEN, "foo"));
     60     assertEquals("foo-bar", LOWER_HYPHEN.to(LOWER_HYPHEN, "foo-bar"));
     61   }
     62 
     63   public void testLowerHyphenToLowerUnderscore() {
     64     assertEquals("foo", LOWER_HYPHEN.to(LOWER_UNDERSCORE, "foo"));
     65     assertEquals("foo_bar", LOWER_HYPHEN.to(LOWER_UNDERSCORE, "foo-bar"));
     66   }
     67 
     68   public void testLowerHyphenToLowerCamel() {
     69     assertEquals("foo", LOWER_HYPHEN.to(LOWER_CAMEL, "foo"));
     70     assertEquals("fooBar", LOWER_HYPHEN.to(LOWER_CAMEL, "foo-bar"));
     71   }
     72 
     73   public void testLowerHyphenToUpperCamel() {
     74     assertEquals("Foo", LOWER_HYPHEN.to(UPPER_CAMEL, "foo"));
     75     assertEquals("FooBar", LOWER_HYPHEN.to(UPPER_CAMEL, "foo-bar"));
     76   }
     77 
     78   public void testLowerHyphenToUpperUnderscore() {
     79     assertEquals("FOO", LOWER_HYPHEN.to(UPPER_UNDERSCORE, "foo"));
     80     assertEquals("FOO_BAR", LOWER_HYPHEN.to(UPPER_UNDERSCORE, "foo-bar"));
     81   }
     82 
     83   public void testLowerUnderscoreToLowerHyphen() {
     84     assertEquals("foo", LOWER_UNDERSCORE.to(LOWER_HYPHEN, "foo"));
     85     assertEquals("foo-bar", LOWER_UNDERSCORE.to(LOWER_HYPHEN, "foo_bar"));
     86   }
     87 
     88   public void testLowerUnderscoreToLowerUnderscore() {
     89     assertEquals("foo", LOWER_UNDERSCORE.to(LOWER_UNDERSCORE, "foo"));
     90     assertEquals("foo_bar", LOWER_UNDERSCORE.to(LOWER_UNDERSCORE, "foo_bar"));
     91   }
     92 
     93   public void testLowerUnderscoreToLowerCamel() {
     94     assertEquals("foo", LOWER_UNDERSCORE.to(LOWER_CAMEL, "foo"));
     95     assertEquals("fooBar", LOWER_UNDERSCORE.to(LOWER_CAMEL, "foo_bar"));
     96   }
     97 
     98   public void testLowerUnderscoreToUpperCamel() {
     99     assertEquals("Foo", LOWER_UNDERSCORE.to(UPPER_CAMEL, "foo"));
    100     assertEquals("FooBar", LOWER_UNDERSCORE.to(UPPER_CAMEL, "foo_bar"));
    101   }
    102 
    103   public void testLowerUnderscoreToUpperUnderscore() {
    104     assertEquals("FOO", LOWER_UNDERSCORE.to(UPPER_UNDERSCORE, "foo"));
    105     assertEquals("FOO_BAR", LOWER_UNDERSCORE.to(UPPER_UNDERSCORE, "foo_bar"));
    106   }
    107 
    108   public void testLowerCamelToLowerHyphen() {
    109     assertEquals("foo", LOWER_CAMEL.to(LOWER_HYPHEN, "foo"));
    110     assertEquals("foo-bar", LOWER_CAMEL.to(LOWER_HYPHEN, "fooBar"));
    111     assertEquals("h-t-t-p", LOWER_CAMEL.to(LOWER_HYPHEN, "HTTP"));
    112   }
    113 
    114   public void testLowerCamelToLowerUnderscore() {
    115     assertEquals("foo", LOWER_CAMEL.to(LOWER_UNDERSCORE, "foo"));
    116     assertEquals("foo_bar", LOWER_CAMEL.to(LOWER_UNDERSCORE, "fooBar"));
    117     assertEquals("h_t_t_p", LOWER_CAMEL.to(LOWER_UNDERSCORE, "hTTP"));
    118   }
    119 
    120   public void testLowerCamelToLowerCamel() {
    121     assertEquals("foo", LOWER_CAMEL.to(LOWER_CAMEL, "foo"));
    122     assertEquals("fooBar", LOWER_CAMEL.to(LOWER_CAMEL, "fooBar"));
    123   }
    124 
    125   public void testLowerCamelToUpperCamel() {
    126     assertEquals("Foo", LOWER_CAMEL.to(UPPER_CAMEL, "foo"));
    127     assertEquals("FooBar", LOWER_CAMEL.to(UPPER_CAMEL, "fooBar"));
    128     assertEquals("HTTP", LOWER_CAMEL.to(UPPER_CAMEL, "hTTP"));
    129   }
    130 
    131   public void testLowerCamelToUpperUnderscore() {
    132     assertEquals("FOO", LOWER_CAMEL.to(UPPER_UNDERSCORE, "foo"));
    133     assertEquals("FOO_BAR", LOWER_CAMEL.to(UPPER_UNDERSCORE, "fooBar"));
    134   }
    135 
    136   public void testUpperCamelToLowerHyphen() {
    137     assertEquals("foo", UPPER_CAMEL.to(LOWER_HYPHEN, "Foo"));
    138     assertEquals("foo-bar", UPPER_CAMEL.to(LOWER_HYPHEN, "FooBar"));
    139   }
    140 
    141   public void testUpperCamelToLowerUnderscore() {
    142     assertEquals("foo", UPPER_CAMEL.to(LOWER_UNDERSCORE, "Foo"));
    143     assertEquals("foo_bar", UPPER_CAMEL.to(LOWER_UNDERSCORE, "FooBar"));
    144   }
    145 
    146   public void testUpperCamelToLowerCamel() {
    147     assertEquals("foo", UPPER_CAMEL.to(LOWER_CAMEL, "Foo"));
    148     assertEquals("fooBar", UPPER_CAMEL.to(LOWER_CAMEL, "FooBar"));
    149     assertEquals("hTTP", UPPER_CAMEL.to(LOWER_CAMEL, "HTTP"));
    150   }
    151 
    152   public void testUpperCamelToUpperCamel() {
    153     assertEquals("Foo", UPPER_CAMEL.to(UPPER_CAMEL, "Foo"));
    154     assertEquals("FooBar", UPPER_CAMEL.to(UPPER_CAMEL, "FooBar"));
    155   }
    156 
    157   public void testUpperCamelToUpperUnderscore() {
    158     assertEquals("FOO", UPPER_CAMEL.to(UPPER_UNDERSCORE, "Foo"));
    159     assertEquals("FOO_BAR", UPPER_CAMEL.to(UPPER_UNDERSCORE, "FooBar"));
    160     assertEquals("H_T_T_P", UPPER_CAMEL.to(UPPER_UNDERSCORE, "HTTP"));
    161     assertEquals("H__T__T__P", UPPER_CAMEL.to(UPPER_UNDERSCORE, "H_T_T_P"));
    162   }
    163 
    164   public void testUpperUnderscoreToLowerHyphen() {
    165     assertEquals("foo", UPPER_UNDERSCORE.to(LOWER_HYPHEN, "FOO"));
    166     assertEquals("foo-bar", UPPER_UNDERSCORE.to(LOWER_HYPHEN, "FOO_BAR"));
    167   }
    168 
    169   public void testUpperUnderscoreToLowerUnderscore() {
    170     assertEquals("foo", UPPER_UNDERSCORE.to(LOWER_UNDERSCORE, "FOO"));
    171     assertEquals("foo_bar", UPPER_UNDERSCORE.to(LOWER_UNDERSCORE, "FOO_BAR"));
    172   }
    173 
    174   public void testUpperUnderscoreToLowerCamel() {
    175     assertEquals("foo", UPPER_UNDERSCORE.to(LOWER_CAMEL, "FOO"));
    176     assertEquals("fooBar", UPPER_UNDERSCORE.to(LOWER_CAMEL, "FOO_BAR"));
    177   }
    178 
    179   public void testUpperUnderscoreToUpperCamel() {
    180     assertEquals("Foo", UPPER_UNDERSCORE.to(UPPER_CAMEL, "FOO"));
    181     assertEquals("FooBar", UPPER_UNDERSCORE.to(UPPER_CAMEL, "FOO_BAR"));
    182     assertEquals("HTTP", UPPER_UNDERSCORE.to(UPPER_CAMEL, "H_T_T_P"));
    183   }
    184 
    185   public void testUpperUnderscoreToUpperUnderscore() {
    186     assertEquals("FOO", UPPER_UNDERSCORE.to(UPPER_UNDERSCORE, "FOO"));
    187     assertEquals("FOO_BAR", UPPER_UNDERSCORE.to(UPPER_UNDERSCORE, "FOO_BAR"));
    188   }
    189 }
    190