/* * Copyright (C) 2006 The Guava Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.common.base; import static com.google.common.base.CaseFormat.LOWER_CAMEL; import static com.google.common.base.CaseFormat.LOWER_HYPHEN; import static com.google.common.base.CaseFormat.LOWER_UNDERSCORE; import static com.google.common.base.CaseFormat.UPPER_CAMEL; import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE; import com.google.common.annotations.GwtCompatible; import junit.framework.TestCase; /** * Unit test for {@link CaseFormat}. * * @author Mike Bostock */ @GwtCompatible public class CaseFormatTest extends TestCase { public void testIdentity() { for (CaseFormat from : CaseFormat.values()) { assertSame(from + " to " + from, "foo", from.to(from, "foo")); for (CaseFormat to : CaseFormat.values()) { assertEquals(from + " to " + to, "", from.to(to, "")); assertEquals(from + " to " + to, " ", from.to(to, " ")); } } } public void testNullPointer() { try { LOWER_CAMEL.to(null, ""); fail(); } catch (NullPointerException expected) {} try { LOWER_CAMEL.to(LOWER_HYPHEN, null); fail(); } catch (NullPointerException expected) {} } public void testLowerHyphenToLowerHyphen() { assertEquals("foo", LOWER_HYPHEN.to(LOWER_HYPHEN, "foo")); assertEquals("foo-bar", LOWER_HYPHEN.to(LOWER_HYPHEN, "foo-bar")); } public void testLowerHyphenToLowerUnderscore() { assertEquals("foo", LOWER_HYPHEN.to(LOWER_UNDERSCORE, "foo")); assertEquals("foo_bar", LOWER_HYPHEN.to(LOWER_UNDERSCORE, "foo-bar")); } public void testLowerHyphenToLowerCamel() { assertEquals("foo", LOWER_HYPHEN.to(LOWER_CAMEL, "foo")); assertEquals("fooBar", LOWER_HYPHEN.to(LOWER_CAMEL, "foo-bar")); } public void testLowerHyphenToUpperCamel() { assertEquals("Foo", LOWER_HYPHEN.to(UPPER_CAMEL, "foo")); assertEquals("FooBar", LOWER_HYPHEN.to(UPPER_CAMEL, "foo-bar")); } public void testLowerHyphenToUpperUnderscore() { assertEquals("FOO", LOWER_HYPHEN.to(UPPER_UNDERSCORE, "foo")); assertEquals("FOO_BAR", LOWER_HYPHEN.to(UPPER_UNDERSCORE, "foo-bar")); } public void testLowerUnderscoreToLowerHyphen() { assertEquals("foo", LOWER_UNDERSCORE.to(LOWER_HYPHEN, "foo")); assertEquals("foo-bar", LOWER_UNDERSCORE.to(LOWER_HYPHEN, "foo_bar")); } public void testLowerUnderscoreToLowerUnderscore() { assertEquals("foo", LOWER_UNDERSCORE.to(LOWER_UNDERSCORE, "foo")); assertEquals("foo_bar", LOWER_UNDERSCORE.to(LOWER_UNDERSCORE, "foo_bar")); } public void testLowerUnderscoreToLowerCamel() { assertEquals("foo", LOWER_UNDERSCORE.to(LOWER_CAMEL, "foo")); assertEquals("fooBar", LOWER_UNDERSCORE.to(LOWER_CAMEL, "foo_bar")); } public void testLowerUnderscoreToUpperCamel() { assertEquals("Foo", LOWER_UNDERSCORE.to(UPPER_CAMEL, "foo")); assertEquals("FooBar", LOWER_UNDERSCORE.to(UPPER_CAMEL, "foo_bar")); } public void testLowerUnderscoreToUpperUnderscore() { assertEquals("FOO", LOWER_UNDERSCORE.to(UPPER_UNDERSCORE, "foo")); assertEquals("FOO_BAR", LOWER_UNDERSCORE.to(UPPER_UNDERSCORE, "foo_bar")); } public void testLowerCamelToLowerHyphen() { assertEquals("foo", LOWER_CAMEL.to(LOWER_HYPHEN, "foo")); assertEquals("foo-bar", LOWER_CAMEL.to(LOWER_HYPHEN, "fooBar")); assertEquals("h-t-t-p", LOWER_CAMEL.to(LOWER_HYPHEN, "HTTP")); } public void testLowerCamelToLowerUnderscore() { assertEquals("foo", LOWER_CAMEL.to(LOWER_UNDERSCORE, "foo")); assertEquals("foo_bar", LOWER_CAMEL.to(LOWER_UNDERSCORE, "fooBar")); assertEquals("h_t_t_p", LOWER_CAMEL.to(LOWER_UNDERSCORE, "hTTP")); } public void testLowerCamelToLowerCamel() { assertEquals("foo", LOWER_CAMEL.to(LOWER_CAMEL, "foo")); assertEquals("fooBar", LOWER_CAMEL.to(LOWER_CAMEL, "fooBar")); } public void testLowerCamelToUpperCamel() { assertEquals("Foo", LOWER_CAMEL.to(UPPER_CAMEL, "foo")); assertEquals("FooBar", LOWER_CAMEL.to(UPPER_CAMEL, "fooBar")); assertEquals("HTTP", LOWER_CAMEL.to(UPPER_CAMEL, "hTTP")); } public void testLowerCamelToUpperUnderscore() { assertEquals("FOO", LOWER_CAMEL.to(UPPER_UNDERSCORE, "foo")); assertEquals("FOO_BAR", LOWER_CAMEL.to(UPPER_UNDERSCORE, "fooBar")); } public void testUpperCamelToLowerHyphen() { assertEquals("foo", UPPER_CAMEL.to(LOWER_HYPHEN, "Foo")); assertEquals("foo-bar", UPPER_CAMEL.to(LOWER_HYPHEN, "FooBar")); } public void testUpperCamelToLowerUnderscore() { assertEquals("foo", UPPER_CAMEL.to(LOWER_UNDERSCORE, "Foo")); assertEquals("foo_bar", UPPER_CAMEL.to(LOWER_UNDERSCORE, "FooBar")); } public void testUpperCamelToLowerCamel() { assertEquals("foo", UPPER_CAMEL.to(LOWER_CAMEL, "Foo")); assertEquals("fooBar", UPPER_CAMEL.to(LOWER_CAMEL, "FooBar")); assertEquals("hTTP", UPPER_CAMEL.to(LOWER_CAMEL, "HTTP")); } public void testUpperCamelToUpperCamel() { assertEquals("Foo", UPPER_CAMEL.to(UPPER_CAMEL, "Foo")); assertEquals("FooBar", UPPER_CAMEL.to(UPPER_CAMEL, "FooBar")); } public void testUpperCamelToUpperUnderscore() { assertEquals("FOO", UPPER_CAMEL.to(UPPER_UNDERSCORE, "Foo")); assertEquals("FOO_BAR", UPPER_CAMEL.to(UPPER_UNDERSCORE, "FooBar")); assertEquals("H_T_T_P", UPPER_CAMEL.to(UPPER_UNDERSCORE, "HTTP")); assertEquals("H__T__T__P", UPPER_CAMEL.to(UPPER_UNDERSCORE, "H_T_T_P")); } public void testUpperUnderscoreToLowerHyphen() { assertEquals("foo", UPPER_UNDERSCORE.to(LOWER_HYPHEN, "FOO")); assertEquals("foo-bar", UPPER_UNDERSCORE.to(LOWER_HYPHEN, "FOO_BAR")); } public void testUpperUnderscoreToLowerUnderscore() { assertEquals("foo", UPPER_UNDERSCORE.to(LOWER_UNDERSCORE, "FOO")); assertEquals("foo_bar", UPPER_UNDERSCORE.to(LOWER_UNDERSCORE, "FOO_BAR")); } public void testUpperUnderscoreToLowerCamel() { assertEquals("foo", UPPER_UNDERSCORE.to(LOWER_CAMEL, "FOO")); assertEquals("fooBar", UPPER_UNDERSCORE.to(LOWER_CAMEL, "FOO_BAR")); } public void testUpperUnderscoreToUpperCamel() { assertEquals("Foo", UPPER_UNDERSCORE.to(UPPER_CAMEL, "FOO")); assertEquals("FooBar", UPPER_UNDERSCORE.to(UPPER_CAMEL, "FOO_BAR")); assertEquals("HTTP", UPPER_UNDERSCORE.to(UPPER_CAMEL, "H_T_T_P")); } public void testUpperUnderscoreToUpperUnderscore() { assertEquals("FOO", UPPER_UNDERSCORE.to(UPPER_UNDERSCORE, "FOO")); assertEquals("FOO_BAR", UPPER_UNDERSCORE.to(UPPER_UNDERSCORE, "FOO_BAR")); } }