[Fat-develop] FAT/test/FAT.Test/Web/HtmlDetails HtmlDetailsEnhancerTest.cs,NONE,1.1 HtmlDetailsReque
Brought to you by:
exortech
|
From: <dmc...@pr...> - 2004-01-29 06:46:18
|
Update of /cvsroot/fat/FAT/test/FAT.Test/Web/HtmlDetails In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13246/test/FAT.Test/Web/HtmlDetails Added Files: HtmlDetailsEnhancerTest.cs HtmlDetailsRequestHelperTest.cs HtmlDetailsStoreTest.cs Log Message: Can now add HtmlDetails to TestLogger in FATFixtures. Details are dislayed in test results as clickable thumbnails in FAT.Web --- NEW FILE: HtmlDetailsEnhancerTest.cs --- using FAT.Web; using FAT.Web.HtmlDetails; using NUnit.Framework; using System; using System.Drawing; using System.IO; namespace FAT.Test.Web.HtmlDetails { [TestFixture] public class HtmlDetailsEnhancerTest : Assertion { private string html = "<html><head><title>foo</title></head><body><b>Some Text</b><br><b>Some More Text</b><br></body></html>"; private string url = "http://testhost/testpath/test.aspx"; private HtmlDetailsEnhancer htmlDetailsEnhancer; [SetUp] public void CreateObjectToTest() { htmlDetailsEnhancer = new HtmlDetailsEnhancer(url, html); } [Test] public void Construction() { AssertEquals(html, htmlDetailsEnhancer.Html); AssertEquals(url, htmlDetailsEnhancer.Url); } [Test] public void Image() { AssertNotNull(htmlDetailsEnhancer.Thumbnail); Assert(htmlDetailsEnhancer.Thumbnail.Height >10); Assert(htmlDetailsEnhancer.Thumbnail.Width >10); } // TODO: expand urls [Test] public void HtmlWithAbsoluteUrls() { } } } --- NEW FILE: HtmlDetailsRequestHelperTest.cs --- using FAT.Web.HtmlDetails; using NMock; using NUnit.Framework; using System; using System.Drawing; namespace FAT.Test.Web.HtmlDetails { [TestFixture] public class HtmlDetailsRequestHelperTest { [Test] public void ReplyWithImage() { DynamicMock mockHtmlDetailsRequestContext = new DynamicMock(typeof(IHtmlDetailsRequestContext)); mockHtmlDetailsRequestContext.ExpectAndReturn("DetailsType", "image"); mockHtmlDetailsRequestContext.Expect("ContentType", "image/jpeg"); Image image = new Bitmap(1, 1); mockHtmlDetailsRequestContext.ExpectAndReturn("Thumbnail", image); mockHtmlDetailsRequestContext.Expect("StreamImage", image); HtmlDetailsRequestHelper.ReplyWithAppropriateHtmlDetails((IHtmlDetailsRequestContext)mockHtmlDetailsRequestContext.MockInstance); mockHtmlDetailsRequestContext.Verify(); } [Test] public void ReplyWithHtml() { DynamicMock mockHtmlDetailsRequestContext = new DynamicMock(typeof(IHtmlDetailsRequestContext)); mockHtmlDetailsRequestContext.ExpectAndReturn("DetailsType", "html"); mockHtmlDetailsRequestContext.Expect("ContentType", "text/plain"); string html = @"<a href=""relativeUrl.gif""/>"; mockHtmlDetailsRequestContext.ExpectAndReturn("Html", html); mockHtmlDetailsRequestContext.Expect("StreamText", html); HtmlDetailsRequestHelper.ReplyWithAppropriateHtmlDetails((IHtmlDetailsRequestContext)mockHtmlDetailsRequestContext.MockInstance); mockHtmlDetailsRequestContext.Verify(); } [Test] public void ReplyWithHtmlWithAbsoluteUrls() { DynamicMock mockHtmlDetailsRequestContext = new DynamicMock(typeof(IHtmlDetailsRequestContext)); mockHtmlDetailsRequestContext.ExpectAndReturn("DetailsType", "htmlWithAbsoluteUrls"); mockHtmlDetailsRequestContext.Expect("ContentType", "text/html"); string htmlWithAbsoluteUrls = @"<a href=""http://absolute/url.gif""/>"; mockHtmlDetailsRequestContext.ExpectAndReturn("HtmlWithAbsoluteUrls", htmlWithAbsoluteUrls); mockHtmlDetailsRequestContext.Expect("StreamText", htmlWithAbsoluteUrls); HtmlDetailsRequestHelper.ReplyWithAppropriateHtmlDetails((IHtmlDetailsRequestContext)mockHtmlDetailsRequestContext.MockInstance); mockHtmlDetailsRequestContext.Verify(); } [Test] public void CreateImageUrl() { Assert.AreEqual("HtmlDetails/HtmlDetailsRequestHandler.ashx?type=image&id=999", HtmlDetailsRequestHelper.CreateImageUrl("999")); } [Test] public void CreateHtmlUrl() { Assert.AreEqual("HtmlDetails/HtmlDetailsRequestHandler.ashx?type=html&id=999", HtmlDetailsRequestHelper.CreateHtmlUrl("999")); } [Test] public void CreateHtmlWithAbsoluteUrlsUrl() { Assert.AreEqual("HtmlDetails/HtmlDetailsRequestHandler.ashx?type=htmlWithAbsoluteUrls&id=999", HtmlDetailsRequestHelper.CreateHtmlWithAbsoluteUrlsUrl("999")); } } } --- NEW FILE: HtmlDetailsStoreTest.cs --- using FAT.Web.HtmlDetails; using NMock; using NUnit.Framework; using System; namespace FAT.Test.Web.HtmlDetails { [TestFixture] public class HtmlDetailsStoreTest { private ISession session; [SetUp] public void CreateTestSession() { session = new TestSession(); } [Test] public void Instance() { Assert.IsNull(HtmlDetailsStore.Instance(session)); HtmlDetailsStore.CreateInstance(session); IHtmlDetailsStore htmlDetailsStore1 = HtmlDetailsStore.Instance(session); Assert.IsNotNull(htmlDetailsStore1); IHtmlDetailsStore htmlDetailsStore2 = HtmlDetailsStore.Instance(session); Assert.AreSame(htmlDetailsStore1, htmlDetailsStore2); } [Test] public void StoringDetails() { HtmlDetailsStore.CreateInstance(session); IHtmlDetailsStore htmlDetailsStore = HtmlDetailsStore.Instance(session); HtmlDetailsEnhancer htmlDetailsEnhancer1 = new HtmlDetailsEnhancer("url_1", "html_1"); string id1 = htmlDetailsStore.Add(htmlDetailsEnhancer1); HtmlDetailsEnhancer htmlDetailsEnhancer2 = new HtmlDetailsEnhancer("url_2", "html_2"); string id2 = htmlDetailsStore.Add(htmlDetailsEnhancer2); HtmlDetailsEnhancer htmlDetailsEnhancer3 = new HtmlDetailsEnhancer("url_3", "html_3"); string id3 = htmlDetailsStore.Add(htmlDetailsEnhancer3); Assert.AreSame(htmlDetailsEnhancer1, htmlDetailsStore.Get(id1)); Assert.AreSame(htmlDetailsEnhancer2, htmlDetailsStore.Get(id2)); Assert.AreSame(htmlDetailsEnhancer3, htmlDetailsStore.Get(id3)); } } public class TestSession : ISession { private object item; public object this[string stringIndex] { get { Assert.AreEqual("HtmlDetailsStore", stringIndex); return item; } set { Assert.AreEqual("HtmlDetailsStore", stringIndex); item = value; } } } } |