public void GetIndexes(int?start, int?end, int step, params int[] expected) { var element = new JsonPathArraySliceElement(start, end, step); var actual = element.GetIndexes(); actual.Should().BeEquivalentTo(expected); }
public void GetNormalized_StepNotOne_ReturnsSelf() { var element = new JsonPathArraySliceElement(null, null, 2); var actual = element.GetNormalized(); actual.Should().Be(element); }
public void ContainsIndex(int?start, int?end, int step, int index, bool?expected) { var element = new JsonPathArraySliceElement(start, end, step); bool?actual = element.ContainsIndex(index); actual.Should().Be(expected); }
public void GetNormalized_ContainsAllIndexes_ReturnsAnyArrayIndexElement() { var element = new JsonPathArraySliceElement(0, null, 1); var expected = new JsonPathAnyArrayIndexElement(); var actual = element.GetNormalized(); actual.Should().BeEquivalentTo(expected); }
public void GetNormalized_EmptySliceNotStartingWithNull_ReturnsEmptySliceStartingWithNull() { var element = new JsonPathArraySliceElement(3, 3, 1); var expected = new JsonPathArraySliceElement(null, 0, 1); var actual = element.GetNormalized(); actual.Should().BeEquivalentTo(expected); }
public void GetNormalized_PeriodicIndexesEndingWithMaxValue_ReturnsArraySliceElementWithNullEnd() { var element = new JsonPathArrayIndexListElement(new[] { int.MaxValue - 6, int.MaxValue - 4, int.MaxValue - 2, int.MaxValue }); var expected = new JsonPathArraySliceElement(int.MaxValue - 6, null, 2); var actual = element.GetNormalized(); actual.Should().BeEquivalentTo(expected); }
public void GetNormalized_SingleIndex_ReturnsArrayIndexElement() { var element = new JsonPathArraySliceElement(42, 43, 7); var expected = new JsonPathArrayIndexElement(42); var actual = element.GetNormalized(); actual.Should().BeEquivalentTo(expected); }
public void Matches_ArraySlice(string expression, int?start, int?end, int step, bool?expected) { var element = new JsonPathExpressionElement(expression); var other = new JsonPathArraySliceElement(start, end, step); bool?actual = element.Matches(other); actual.Should().Be(expected); }
public void GetNormalized_PeriodicIndexesStartingFromZero_ReturnsArraySliceElementWithNullStart() { var element = new JsonPathArrayIndexListElement(new[] { 0, 1, 2, 3 }); var expected = new JsonPathArraySliceElement(null, 4, 1); var actual = element.GetNormalized(); actual.Should().BeEquivalentTo(expected); }
public void GetNormalized_PeriodicIndexesWithNegativeStep_ReturnsArraySliceElement() { var element = new JsonPathArrayIndexListElement(new[] { 3, 2, 1 }); var expected = new JsonPathArraySliceElement(3, 0, -1); var actual = element.GetNormalized(); actual.Should().BeEquivalentTo(expected); }
public void GetNormalized_PeriodicIndexes_ReturnsArraySliceElement() { var element = new JsonPathArrayIndexListElement(new[] { 1, 2, 3 }); var expected = new JsonPathArraySliceElement(1, 4, 1); var actual = element.GetNormalized(); actual.Should().BeEquivalentTo(expected); }
public void Matches_Any(JsonPathElementType type, bool?expected) { var element = new JsonPathArraySliceElement(null, null); var other = ElementCreator.CreateAny(type); bool?actual = element.Matches(other); actual.Should().Be(expected); }
public void GetNormalized_StartsWithZero_ReturnsArraySliceElementStartingWithNull() { var element = new JsonPathArraySliceElement(0, 3, 1); var expected = new JsonPathArraySliceElement(null, 3, 1); var actual = element.GetNormalized(); actual.Should().BeEquivalentTo(expected); }
public void Matches_ArraySlice(int index, int?start, int?end, int step, bool?expected) { var element = new JsonPathArrayIndexElement(index); var other = new JsonPathArraySliceElement(start, end, step); bool?actual = element.Matches(other); actual.Should().Be(expected); }
private static void AppendArraySlice(this StringBuilder builder, JsonPathArraySliceElement element) { builder.Append('['); builder.AppendNullable(element.Start); builder.Append(':'); builder.AppendNullable(element.End); if (element.Step != 1) { builder.Append(':'); builder.Append(element.Step); } builder.Append(']'); }
public void IndexCount(int?start, int?end, int step, int?expected) { var element = new JsonPathArraySliceElement(start, end, step); element.IndexCount.Should().Be(expected); }
public void ContainsAllIndexes(int?start, int?end, int step, bool expected) { var element = new JsonPathArraySliceElement(start, end, step); element.ContainsAllIndexes.Should().Be(expected); }
public void IsNormalized(int?start, int?end, int step, bool expected) { var element = new JsonPathArraySliceElement(start, end, step); element.IsNormalized.Should().Be(expected); }