BeEquivalentTo()ContainSingleElement()ContainSubtree()HaveCount()HaveElement()HaveValue()MatchRegex()NotBeEquivalentTo()NotHaveElement()NotHaveValue()NotMatchRegex()
See "in-code" description for more information.
Be sure to include using AwesomeAssertions.Json; otherwise false positives may occur.
using AwesomeAssertions;
using AwesomeAssertions.Json;
using Newtonsoft.Json.Linq;
...
var actual = JToken.Parse(@"{ ""key1"" : ""value"" }");
var expected = JToken.Parse(@"{ ""key2"" : ""value"" }");
actual.Should().BeEquivalentTo(expected);You can also use IJsonAssertionOptions<> with Should().BeEquivalentTo() assertions, which contains helper methods that you can use to specify the way you want to compare specific data types.
Example:
using AwesomeAssertions;
using AwesomeAssertions.Json;
using Newtonsoft.Json.Linq;
...
var actual = JToken.Parse(@"{ ""value"" : 1.5 }");
var expected = JToken.Parse(@"{ ""value"" : 1.4 }");
actual.Should().BeEquivalentTo(expected, options => options
.Using<double>(d => d.Subject.Should().BeApproximately(d.Expectation, 0.1))
.WhenTypeIs<double>());