public void GetAbsoluteUrl(string relativeUrl, string currentUrl, string expectedUrl) { Mock<HttpContextBase> mock = new Mock<HttpContextBase>(); mock.Setup(x => x.Request.Url).Returns(new Uri(currentUrl)); Utility.HttpContextWrapper.Context = mock.Object; Mock<IVirtualPathProvider> mockVirtualPathProvider = new Mock<IVirtualPathProvider>(); string absoluteUrl = relativeUrl.Replace("~", string.Empty); if (!absoluteUrl.StartsWith("/")) { absoluteUrl = absoluteUrl.Insert(0, "/"); } mockVirtualPathProvider.Setup(x => x.ToAbsoluteUrl(It.IsAny<string>())).Returns(absoluteUrl); HttpResourceReader httpResourceReader = new HttpResourceReader(null, mockVirtualPathProvider.Object); Assert.AreEqual(expectedUrl, httpResourceReader.GetAbsoluteUrl(relativeUrl)); }