public void GetNormalized_ReturnsSelf()
        {
            var element = new JsonPathPropertyElement("name");

            var actual = element.GetNormalized();

            actual.Should().Be(element);
        }
        public void Matches_KnownPropertyName_ReturnsTrue()
        {
            var element = new JsonPathPropertyListElement(new[] { "name0", "name1", "name2" });
            var other   = new JsonPathPropertyElement("name0");

            bool?actual = element.Matches(other);

            actual.Should().BeTrue();
        }
        public void GetNormalized_SingleProperty_ReturnsPropertyElement()
        {
            var element  = new JsonPathPropertyListElement(new [] { "name" });
            var expected = new JsonPathPropertyElement("name");

            var actual = element.GetNormalized();

            actual.Should().BeEquivalentTo(expected);
        }
        public void Matches_UnknownPropertyNameList_ReturnsFalse()
        {
            var element = new JsonPathPropertyElement("name");
            var other   = new JsonPathPropertyListElement(new[] { "name", "unknown" });

            bool?actual = element.Matches(other);

            actual.Should().BeFalse();
        }
        public void Matches_Any_ReturnsFalse(JsonPathElementType type)
        {
            var element = new JsonPathPropertyElement("name");
            var other   = ElementCreator.CreateAny(type);

            bool?actual = element.Matches(other);

            actual.Should().BeFalse();
        }
        public void ReplaceLastWith_Replaces()
        {
            var path     = new JsonPathExpression(new JsonPathElement[] { new JsonPathRootElement(), new JsonPathPropertyElement("a") });
            var element  = new JsonPathPropertyElement("b");
            var expected = new JsonPathExpression(new JsonPathElement[] { new JsonPathRootElement(), element });

            var actual = path.ReplaceLastWith(element);

            actual.Should().BeEquivalentTo(expected);
        }
示例#7
0
        private static void AppendProperty(this StringBuilder builder, JsonPathPropertyElement element, bool useDot)
        {
            bool isSimple = element.Name.Length != 0 && element.Name.IndexOfAny(ForbiddenCharactersForSimplePropertyName) == -1;

            if (isSimple)
            {
                if (useDot)
                {
                    builder.Append('.');
                }

                builder.Append(element.Name);
            }
            else
            {
                builder.Append("['");
                builder.Append(element.Name);
                builder.Append("']");
            }
        }
        public void IsNormalized_ReturnsTrue()
        {
            var element = new JsonPathPropertyElement("name");

            element.IsNormalized.Should().BeTrue();
        }
        public void IsStrict_ReturnsTrue()
        {
            var element = new JsonPathPropertyElement("name");

            element.IsStrict.Should().BeTrue();
        }