public static void Main() { var test = new DownloadSpeedTest(); var cases = new [] { new TestCase { TestName = "Download Client", DownloadFunction = addrs => Parallel.ForEach(addrs, addr => new DownloadClient(addr) .Download()) }, new TestCase { TestName = "Download Request", DownloadFunction = addrs => Parallel.ForEach(addrs, addr => new DownloadRequest(addr) .Download()) }, new TestCase { TestName = "Async Download Request", DownloadFunction = addrs => { var reqs = addrs.Select(addr => new AsyncDownloadRequest(addr)); foreach (var req in reqs) { req.BeginDownloadingData(); } foreach (var req in reqs) { req.WaitUntilDownloadFinishes(); } } } }; var assembly = Assembly.GetExecutingAssembly(); var wellFormedRss = assembly.GetEmbeddedFileText("RssExtractor.Tests", "TestData/WellFormedRss.xml"); var feed = new Feed(""); feed.SetContent(wellFormedRss); var news = feed.GetNews().ToArray(); test.Run(cases, news.Select(n => n.Address).ToArray()); }
public static void Main() { var test = new DownloadSpeedTest(); var cases = new [] { new TestCase { TestName = "Download Client", DownloadFunction = addrs => Parallel.ForEach(addrs, addr => new DownloadClient(addr) .Download()) }, new TestCase { TestName = "Download Request", DownloadFunction = addrs => Parallel.ForEach(addrs, addr => new DownloadRequest(addr) .Download()) }, new TestCase { TestName = "Async Download Request", DownloadFunction = addrs => { var reqs = addrs.Select(addr => new AsyncDownloadRequest(addr)); foreach(var req in reqs) { req.BeginDownloadingData(); } foreach(var req in reqs) { req.WaitUntilDownloadFinishes(); } } } }; var assembly = Assembly.GetExecutingAssembly(); var wellFormedRss = assembly.GetEmbeddedFileText("RssExtractor.Tests", "TestData/WellFormedRss.xml"); var feed = new Feed(""); feed.SetContent(wellFormedRss); var news = feed.GetNews().ToArray(); test.Run(cases, news.Select(n => n.Address).ToArray()); }