2 Commits 1a75379c9a ... a2b97073a8

Author SHA1 Message Date
  Piotr Czajkowski a2b97073a8 Adjusted tests 2 years ago
  Piotr Czajkowski f2ef537f55 Fixed #1 2 years ago

+ 6 - 1
analyzeJSON/AnalyzeJSON.cs

@@ -1,6 +1,7 @@
 using System;
 using System.IO;
 using System.Linq;
+using System.Text.RegularExpressions;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 
@@ -29,7 +30,11 @@ namespace analyzeJSON
 
         public static string GetNameFromPath(string tokenPath)
         {
-            return string.IsNullOrWhiteSpace(tokenPath) ? string.Empty : tokenPath.Split(".").Last();
+            if (string.IsNullOrWhiteSpace(tokenPath))
+                return string.Empty;
+
+            var name = tokenPath.Split(".").LastOrDefault();
+            return Regex.Replace(name, @"\[\d+?\]$", "");
         }
 
         private void Traverse(IJEnumerable<JToken> tokens, Action<JToken> action)

+ 1 - 0
analyzeJSONTests/AnalyzeJSONUnitTests.cs

@@ -68,6 +68,7 @@ namespace analyzeJSONTests
                 new TestCase("abc.def", "def"),
                 new TestCase("abc.", string.Empty),
                 new TestCase("abc.def.", string.Empty),
+                new TestCase("abc.def.ghi[0]", "ghi"),
 
             };
 

+ 2 - 2
analyzeJSONTests/AnalyzeStructureIntegrationTests.cs

@@ -17,8 +17,8 @@ namespace analyzeJSONTests
             Assert.Empty(status.Message);
 
             var result = analyze.Result;
-            Assert.Equal(9, result.Nodes.Count);
-            Assert.Equal(10, result.Leafs.Count);
+            Assert.Equal(10, result.Nodes.Count);
+            Assert.Equal(11, result.Leafs.Count);
         }
     }
 }

+ 2 - 2
analyzeJSONTests/StatisticsIntegrationTests.cs

@@ -16,8 +16,8 @@ namespace analyzeJSONTests
             var status = test.Traverse((token) => stats.RunStatistics(token));
             Assert.True(status.Success);
             Assert.Empty(status.Message);
-            Assert.Equal(10, stats.Result.NodeCounts.Count);
-            Assert.Equal(165, stats.Result.TotalWordCount);
+            Assert.Equal(11, stats.Result.NodeCounts.Count);
+            Assert.Equal(168, stats.Result.TotalWordCount);
         }
     }
 }

+ 1 - 0
analyzeJSONTests/testFiles/complex.json

@@ -55,6 +55,7 @@
       "refills": "Refill 3"
     }
   },
+  "items": [ "one", "two", "three" ],
   "labs": [
     {
       "name": "Arterial Blood Gas",