AnalyzeJSONUnitTests.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.Collections.Generic;
  3. using analyzeJSON;
  4. using Xunit;
  5. namespace analyzeJSONTests
  6. {
  7. public record TestCase(string Input, string ExpectedOutput);
  8. public class AnalyzeJSONUnitTests
  9. {
  10. [Fact]
  11. public void AnalyzeJSON_NullPath()
  12. {
  13. Assert.Throws<ArgumentNullException>(() => new AnalyzeJSON(null));
  14. }
  15. [Fact]
  16. public void GetNameFromPath_NullTokenPath()
  17. {
  18. Assert.Empty(AnalyzeJSON.GetNameFromPath(null));
  19. }
  20. [Fact]
  21. public void GetNameFromPath_EmptyTokenPath()
  22. {
  23. Assert.Empty(AnalyzeJSON.GetNameFromPath(string.Empty));
  24. }
  25. [Fact]
  26. public void GetNameFromPath_DifferentCases()
  27. {
  28. var testCases = new List<TestCase>
  29. {
  30. new TestCase("abc", "abc"),
  31. new TestCase("abc.def", "def"),
  32. new TestCase("abc.", string.Empty),
  33. new TestCase("abc.def.", string.Empty),
  34. };
  35. foreach (var testCase in testCases)
  36. Assert.Equal(testCase.ExpectedOutput, AnalyzeJSON.GetNameFromPath(testCase.Input));
  37. }
  38. }
  39. }