public void Builds_All_Values() { IPublishedRequestBuilder sut = GetBuilder(); IPublishedContent content = Mock.Of <IPublishedContent>(x => x.Id == 1); ITemplate template = Mock.Of <ITemplate>(x => x.Id == 1); string[] cacheExt = new[] { "must-revalidate" }; var auCulture = "en-AU"; var usCulture = "en-US"; var domain = new DomainAndUri( new Domain(1, "test", 2, auCulture, false), new Uri("https://example.com/en-au")); IReadOnlyDictionary <string, string> headers = new Dictionary <string, string> { ["Hello"] = "world" }; var redirect = "https://test.com"; sut .SetNoCacheHeader(true) .SetCacheExtensions(cacheExt) .SetDomain(domain) .SetCulture(usCulture) .SetHeaders(headers) .SetInternalRedirect(content) .SetRedirect(redirect) .SetTemplate(template); IPublishedRequest request = sut.Build(); Assert.AreEqual(true, request.SetNoCacheHeader); Assert.AreEqual(cacheExt, request.CacheExtensions); Assert.AreEqual(usCulture, request.Culture); Assert.AreEqual(domain, request.Domain); Assert.AreEqual(headers, request.Headers); Assert.AreEqual(true, request.IsInternalRedirect); Assert.AreEqual(content, request.PublishedContent); Assert.AreEqual(redirect, request.RedirectUrl); Assert.AreEqual(302, request.ResponseStatusCode); Assert.AreEqual(template, request.Template); Assert.AreEqual(_baseUri, request.Uri); }