public void PathWithInvalidEscapeSequenceShouldFail(string path) { // Arrange, Act & Assert Assert.Throws <JsonPatchException>(() => { var parsedPath = new ParsedPath(path); }); }
public void ParsingValidPathShouldSucceed(string path, string[] expected) { // Arrange & Act var parsedPath = new ParsedPath(path); // Assert Assert.Equal(expected, parsedPath.Segments); }
public ObjectVisitor(ParsedPath path, IContractResolver contractResolver) { if (contractResolver == null) { throw new ArgumentNullException(nameof(contractResolver)); } _path = path; _contractResolver = contractResolver; }
/// <summary> /// Initializes a new instance of <see cref="ObjectVisitor"/>. /// </summary> /// <param name="path">The path of the JsonPatch operation</param> /// <param name="contractResolver">The <see cref="IContractResolver"/>.</param> /// <param name="adapterFactory">The <see cref="IAdapterFactory"/> to use when creating adaptors.</param> public ObjectVisitor(ParsedPath path, IContractResolver contractResolver, IAdapterFactory adapterFactory) { _path = path; _contractResolver = contractResolver ?? throw new ArgumentNullException(nameof(contractResolver)); _adapterFactory = adapterFactory ?? throw new ArgumentNullException(nameof(adapterFactory)); }
/// <summary> /// Initializes a new instance of <see cref="ObjectVisitor"/>. /// </summary> /// <param name="path">The path of the JsonPatch operation</param> /// <param name="contractResolver">The <see cref="IContractResolver"/>.</param> public ObjectVisitor(ParsedPath path, IContractResolver contractResolver) : this(path, contractResolver, new AdapterFactory()) { }
/// <summary> /// Initializes a new instance of <see cref="ObjectVisitor"/>. /// </summary> /// <param name="path">The path of the JsonPatch operation</param> /// <param name="contractResolver">The <see cref="IContractResolver"/>.</param> public ObjectVisitor(ParsedPath path, IContractResolver contractResolver) : this(path, contractResolver, AdapterFactory.Default) { }