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>());