csharptest | 71f662c | 2011-05-20 15:15:34 -0500 | [diff] [blame] | 1 | #region Copyright notice and license
|
| 2 |
|
| 3 | // Protocol Buffers - Google's data interchange format
|
| 4 | // Copyright 2008 Google Inc. All rights reserved.
|
| 5 | // http://github.com/jskeet/dotnet-protobufs/
|
| 6 | // Original C++/Java/Python code:
|
| 7 | // http://code.google.com/p/protobuf/
|
| 8 | //
|
| 9 | // Redistribution and use in source and binary forms, with or without
|
| 10 | // modification, are permitted provided that the following conditions are
|
| 11 | // met:
|
| 12 | //
|
| 13 | // * Redistributions of source code must retain the above copyright
|
| 14 | // notice, this list of conditions and the following disclaimer.
|
| 15 | // * Redistributions in binary form must reproduce the above
|
| 16 | // copyright notice, this list of conditions and the following disclaimer
|
| 17 | // in the documentation and/or other materials provided with the
|
| 18 | // distribution.
|
| 19 | // * Neither the name of Google Inc. nor the names of its
|
| 20 | // contributors may be used to endorse or promote products derived from
|
| 21 | // this software without specific prior written permission.
|
| 22 | //
|
| 23 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 24 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 25 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 26 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 27 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 28 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 29 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 30 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 31 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 32 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 33 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| 34 |
|
| 35 | #endregion
|
| 36 |
|
csharptest | eac64a5 | 2011-10-04 13:43:26 -0500 | [diff] [blame^] | 37 | using Microsoft.VisualStudio.TestTools.UnitTesting;
|
csharptest | 71f662c | 2011-05-20 15:15:34 -0500 | [diff] [blame] | 38 |
|
| 39 | namespace Google.ProtocolBuffers
|
| 40 | {
|
csharptest | eac64a5 | 2011-10-04 13:43:26 -0500 | [diff] [blame^] | 41 | [TestClass]
|
csharptest | 71f662c | 2011-05-20 15:15:34 -0500 | [diff] [blame] | 42 | public class NameHelpersTest
|
| 43 | {
|
csharptest | eac64a5 | 2011-10-04 13:43:26 -0500 | [diff] [blame^] | 44 | [TestMethod]
|
csharptest | 71f662c | 2011-05-20 15:15:34 -0500 | [diff] [blame] | 45 | public void UnderscoresToPascalCase()
|
| 46 | {
|
| 47 | Assert.AreEqual("FooBar", NameHelpers.UnderscoresToPascalCase("Foo_bar"));
|
| 48 | Assert.AreEqual("FooBar", NameHelpers.UnderscoresToPascalCase("foo_bar"));
|
| 49 | Assert.AreEqual("Foo0Bar", NameHelpers.UnderscoresToPascalCase("Foo0bar"));
|
| 50 | Assert.AreEqual("FooBar", NameHelpers.UnderscoresToPascalCase("Foo_+_Bar"));
|
csharptest | 5ce95b4 | 2011-08-12 18:28:38 -0500 | [diff] [blame] | 51 |
|
| 52 | Assert.AreEqual("Bar", NameHelpers.UnderscoresToPascalCase("__+bar"));
|
| 53 | Assert.AreEqual("Bar", NameHelpers.UnderscoresToPascalCase("bar_"));
|
| 54 | Assert.AreEqual("_0Bar", NameHelpers.UnderscoresToPascalCase("_0bar"));
|
| 55 | Assert.AreEqual("_1Bar", NameHelpers.UnderscoresToPascalCase("_1_bar"));
|
csharptest | 71f662c | 2011-05-20 15:15:34 -0500 | [diff] [blame] | 56 | }
|
| 57 |
|
csharptest | eac64a5 | 2011-10-04 13:43:26 -0500 | [diff] [blame^] | 58 | [TestMethod]
|
csharptest | 71f662c | 2011-05-20 15:15:34 -0500 | [diff] [blame] | 59 | public void UnderscoresToCamelCase()
|
| 60 | {
|
| 61 | Assert.AreEqual("fooBar", NameHelpers.UnderscoresToCamelCase("Foo_bar"));
|
| 62 | Assert.AreEqual("fooBar", NameHelpers.UnderscoresToCamelCase("foo_bar"));
|
| 63 | Assert.AreEqual("foo0Bar", NameHelpers.UnderscoresToCamelCase("Foo0bar"));
|
| 64 | Assert.AreEqual("fooBar", NameHelpers.UnderscoresToCamelCase("Foo_+_Bar"));
|
csharptest | 5ce95b4 | 2011-08-12 18:28:38 -0500 | [diff] [blame] | 65 |
|
| 66 | Assert.AreEqual("bar", NameHelpers.UnderscoresToCamelCase("__+bar"));
|
| 67 | Assert.AreEqual("bar", NameHelpers.UnderscoresToCamelCase("bar_"));
|
| 68 | Assert.AreEqual("_0Bar", NameHelpers.UnderscoresToCamelCase("_0bar"));
|
| 69 | Assert.AreEqual("_1Bar", NameHelpers.UnderscoresToCamelCase("_1_bar"));
|
csharptest | 71f662c | 2011-05-20 15:15:34 -0500 | [diff] [blame] | 70 | }
|
| 71 |
|
csharptest | eac64a5 | 2011-10-04 13:43:26 -0500 | [diff] [blame^] | 72 | [TestMethod]
|
csharptest | 71f662c | 2011-05-20 15:15:34 -0500 | [diff] [blame] | 73 | public void StripSuffix()
|
| 74 | {
|
| 75 | string text = "FooBar";
|
| 76 | Assert.IsFalse(NameHelpers.StripSuffix(ref text, "Foo"));
|
| 77 | Assert.AreEqual("FooBar", text);
|
| 78 | Assert.IsTrue(NameHelpers.StripSuffix(ref text, "Bar"));
|
| 79 | Assert.AreEqual("Foo", text);
|
| 80 | }
|
| 81 | }
|
Jon Skeet | d6343be | 2008-11-12 23:39:44 +0000 | [diff] [blame] | 82 | } |