Browse Source

Added ExtractText_NullKeys

Piotr Czajkowski 2 years ago
parent
commit
ac1a7368d6
2 changed files with 44 additions and 0 deletions
  1. 29 0
      analyzeJSON/ExtractText.cs
  2. 15 0
      analyzeJSONTests/ExtractTextUnitTests.cs

+ 29 - 0
analyzeJSON/ExtractText.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using Newtonsoft.Json.Linq;
+
+namespace analyzeJSON
+{
+    public class ExtractText
+    {
+        private readonly Dictionary<string, bool> keysToExtract;
+
+        public ExtractText(Dictionary<string, bool> keys)
+        {
+            keysToExtract = keys ?? throw new ArgumentNullException(nameof(keys));
+        }
+
+        public void Extract(JToken token)
+        {
+            if (token.Type != JTokenType.String)
+                return;
+
+            var tokenName = AnalyzeJSON.GetNameFromPath(token.Path);
+            if (string.IsNullOrWhiteSpace(tokenName))
+                return;
+
+            if (!keysToExtract.ContainsKey(tokenName))
+                return;
+        }
+    }
+}

+ 15 - 0
analyzeJSONTests/ExtractTextUnitTests.cs

@@ -0,0 +1,15 @@
+using Xunit;
+using analyzeJSON;
+using System;
+
+namespace analyzeJSONTests
+{
+    public class ExtractTextUnitTests
+    {
+        [Fact]
+        public void ExtractText_NullKeys()
+        {
+            Assert.Throws<ArgumentNullException>(() => new ExtractText(null));
+        }
+    }
+}