public void GetPullRequestQueryBuilder_ShouldReturnCorrectQueryParams() { var builder = _sut.GetPullRequestQueryBuilder() .WithState("OPEN") .WithOrder(Order.Newest) .WithSourceBranch("sourceBranch") .WithAuthor("user", null); Assert.Multiple(() => { var expectedResults = new Dictionary <string, string>() { ["sort"] = "-updated_on", ["q"] = @"source.branch.name = ""sourceBranch"" AND author.username = ""user""", }; foreach (var queryParameter in builder.GetQueryParameters().Zip(expectedResults, (x, y) => new { Actual = x, Expected = y })) { Assert.AreEqual(queryParameter.Expected.Key, queryParameter.Actual.Key); Assert.AreEqual(queryParameter.Expected.Value, queryParameter.Actual.Value); } }); }