12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- using System;
- using System.Collections.Generic;
- using analyzeJSON;
- using Newtonsoft.Json.Linq;
- using Xunit;
- namespace analyzeJSONTests
- {
- public record TestCase(string Input, string ExpectedOutput);
- public class AnalyzeJSONUnitTests
- {
- [Fact]
- public void Traverse_EmptyJObject()
- {
- var test = new AnalyzeJSON(new JObject());
- var result = test.Traverse((token) => Console.WriteLine(token));
- Assert.False(result.Success);
- Assert.NotEmpty(result.Message);
- }
- [Fact]
- public void Traverse_NullAction()
- {
- var jObject = new JObject
- {
- { "test", new JObject() }
- };
- var test = new AnalyzeJSON(jObject);
- var result = test.Traverse(null);
- Assert.False(result.Success);
- Assert.NotEmpty(result.Message);
- }
- [Fact]
- public void Traverse_AllGood()
- {
- var jObject = new JObject
- {
- { "test", new JObject() }
- };
- var test = new AnalyzeJSON(jObject);
- var result = test.Traverse((token) => Console.WriteLine(token));
- Assert.True(result.Success);
- Assert.Empty(result.Message);
- }
- [Fact]
- public void GetNameFromPath_NullTokenPath()
- {
- Assert.Empty(AnalyzeJSON.GetNameFromPath(null));
- }
- [Fact]
- public void GetNameFromPath_EmptyTokenPath()
- {
- Assert.Empty(AnalyzeJSON.GetNameFromPath(string.Empty));
- }
- [Fact]
- public void GetNameFromPath_DifferentCases()
- {
- var testCases = new List<TestCase>
- {
- new TestCase("abc", "abc"),
- new TestCase("abc.def", "def"),
- new TestCase("abc.", string.Empty),
- new TestCase("abc.def.", string.Empty),
- new TestCase("abc.def.ghi[0]", "ghi"),
- };
- foreach (var testCase in testCases)
- Assert.Equal(testCase.ExpectedOutput, AnalyzeJSON.GetNameFromPath(testCase.Input));
- }
- }
- }
|