public void BasicTest() { var stack = new JsonReaderStack(); stack.PushStartObject(); stack.PushStartArray(); stack.PushStartObject(); stack.PushStartArray(); Assert.Equal(4, stack.Depth); Assert.Equal(JsonToken.StartArray, stack.Current); stack.Pop(); Assert.Equal(JsonToken.StartObject, stack.Current); stack.Pop(); Assert.Equal(JsonToken.StartArray, stack.Current); stack.Pop(); Assert.Equal(JsonToken.StartObject, stack.Current); stack.Pop(); Assert.Equal(JsonToken.None, stack.Current); Assert.Equal(0, stack.Depth); }
public void MaxDepth() { var stack = new JsonReaderStack(); Assert.Equal(0, stack.Depth); for (var i = 0; i < JsonReaderStack.MaxDepth; ++i) { stack.PushStartObject(); Assert.Equal(i + 1, stack.Depth); } Assert.Equal(JsonReaderStack.MaxDepth, stack.Depth); Assert.Throws <JsonSerializationException>(stack.PushStartObject); }
internal JsonReaderState(JsonReader reader, SequencePosition position, ReadOnlyMemory <Byte> memory, Int32 offset, JsonToken currentToken, JsonToken previousToken, Boolean expectComma, JsonReaderStack stack) { Reader = reader; Position = position; Memory = memory; Offset = offset; CurrentToken = currentToken; PreviousToken = previousToken; ExpectComma = expectComma; Stack = stack; }