From 118977a57c873191e6b4b19c62fe1c8543720815 Mon Sep 17 00:00:00 2001
From: chylex <info@chylex.com>
Date: Mon, 22 Feb 2016 16:40:14 +0100
Subject: [PATCH] Add JavaParseUtils.FullToSimpleName with unit tests

---
 .../Handling/Languages/Java/JavaParseUtils.cs      |  5 +++++
 CodeStatisticsTests/CodeStatisticsTests.csproj     |  1 +
 .../Languages/Java/JavaParseUtilsTests.cs          | 14 ++++++++++++++
 3 files changed, 20 insertions(+)
 create mode 100644 CodeStatisticsTests/Languages/Java/JavaParseUtilsTests.cs

diff --git a/CodeStatistics/Handling/Languages/Java/JavaParseUtils.cs b/CodeStatistics/Handling/Languages/Java/JavaParseUtils.cs
index 26bf096..f00cfb0 100644
--- a/CodeStatistics/Handling/Languages/Java/JavaParseUtils.cs
+++ b/CodeStatistics/Handling/Languages/Java/JavaParseUtils.cs
@@ -13,5 +13,10 @@ namespace CodeStatistics.Handling.Languages.Java{
             processed = RegexCommentMulti.Replace(processed,"");
             return processed;
         }
+
+        public static string FullToSimpleName(string fullName){
+            int lastDot = fullName.LastIndexOf('.');
+            return lastDot == -1 ? fullName : lastDot < fullName.Length-1 ? fullName.Substring(lastDot+1) : string.Empty;
+        }
     }
 }
diff --git a/CodeStatisticsTests/CodeStatisticsTests.csproj b/CodeStatisticsTests/CodeStatisticsTests.csproj
index ff8350f..049e7bf 100644
--- a/CodeStatisticsTests/CodeStatisticsTests.csproj
+++ b/CodeStatisticsTests/CodeStatisticsTests.csproj
@@ -56,6 +56,7 @@
     <Compile Include="CodeParserTests.cs" />
     <Compile Include="CollectionsTests.cs" />
     <Compile Include="IOUtilsTests.cs" />
+    <Compile Include="Languages\Java\JavaParseUtilsTests.cs" />
     <Compile Include="ParseUtilsTests.cs" />
     <Compile Include="StringUtilsTests.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
diff --git a/CodeStatisticsTests/Languages/Java/JavaParseUtilsTests.cs b/CodeStatisticsTests/Languages/Java/JavaParseUtilsTests.cs
new file mode 100644
index 0000000..df835bd
--- /dev/null
+++ b/CodeStatisticsTests/Languages/Java/JavaParseUtilsTests.cs
@@ -0,0 +1,14 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using CodeStatistics.Handling.Languages.Java;
+
+namespace CodeStatisticsTests.Languages.Java{
+    [TestClass]
+    public class JavaParseUtilsTests{
+        [TestMethod]
+        public void TestFullToSimpleName(){
+            Assert.AreEqual("SimpleName",JavaParseUtils.FullToSimpleName("this.is.a.full.name.SimpleName"));
+            Assert.AreEqual("SimpleName",JavaParseUtils.FullToSimpleName("SimpleName"));
+            Assert.AreEqual(string.Empty,JavaParseUtils.FullToSimpleName("broken.name."));
+        }
+    }
+}