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.")); + } + } +}