Click here to Skip to main content
Click here to Skip to main content
Articles » Web Development » ASP.NET » General » Downloads
 
Add your own
alternative version

Browser Detection using ASP.NET

, 6 May 2009 CPOL
Using and updating your machine.config file to better detect browser type in ASP.NET
using System;
using NUnit.Framework;

namespace Ocean.Nunit.HttpCapabilities
{
	/// <summary>
	/// Summary description for CapabilitiesSpiders.
	/// </summary>
	[TestFixture]
	public class CapabilitiesSpiders
	{
		Ocean.Web.HttpCapabilities.Settings Browser;
		Ocean.Web.HttpCapabilities.Result R;
		public CapabilitiesSpiders()
		{
			Browser = new Ocean.Web.HttpCapabilities.Settings(Ocean.Web.HttpCapabilities.EmbededFile.SpidersBots);
		}

		[Test]
		public void	Test_FASTWebCrawler()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.6 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)");         
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.6/FirstPage (atw-crawler at fast dot no;http://fast.no/support/crawler.asp)");
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.6/FirstPage (crawler@fast.no; http://fast.no/support.php?c=faqs/crawler)");   
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.7 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)");         
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.7/FirstPage (atw-crawler at fast dot no;http://fast.no/support/crawler.asp)");
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)");         
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://www.alltheweb.com/help/webmaster/crawler)");                                                                                                        
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.8 (crawler at trd dot overture dot com; http://www.alltheweb.com/help/webmaster/crawler)");                                                                                               
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("FAST-WebCrawler/3.8/Fresh (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)");   
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Overture-WebCrawler/3.8/Fresh (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)");                                                                                                           
			Assert.AreEqual("FAST-WebCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

		}
		[Test]
		public void	Test_GoogleBot()
		{
			//-------------------------------------------------------------------
			//this should return unknown, and false, since it does not match
			//what is known to be a valid google bot useragent.
			//-------------------------------------------------------------------
			R = Browser.Process("GoogleBot");
			Assert.AreEqual("Unknown",R.Browser, "Browser Name Compare");
			Assert.AreEqual(false,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Googlebot-Image/1.0");                                     
			Assert.AreEqual("Googlebot Image",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Googlebot-Image/1.0 ( http://www.googlebot.com/bot.html)");
			Assert.AreEqual("Googlebot Image",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Googlebot/2.1 ( http://www.google.com/bot.html)");
			Assert.AreEqual("Google",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Googlebot/2.1 ( http://www.googlebot.com/bot.html)");
			Assert.AreEqual("Google",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//this should return unknown, and false, since it does not match
			//what is known to be a valid google bot useragent.
			//-------------------------------------------------------------------
			R = Browser.Process("Googlebot/Test ( http://www.googlebot.com/bot.html)");
			Assert.AreEqual("Unknown",R.Browser, "Browser Name Compare");
			Assert.AreEqual(false,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_iltrovatore()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Iltrovatore-Setaccio");                                                                                                                                                                                     
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("IlTrovatore-Setaccio ( http://www.iltrovatore.it)");                                                                                                                                                        
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("IlTrovatore-Setaccio/0.03-dev (Indexing; http://www.iltrovatore.it/bot.html; info@iltrovatore.it)");                                                                                                        
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Iltrovatore-Setaccio/0.3-dev (Indexing; http://www.iltrovatore.it/bot.html; info@iltrovatore.it)");                                                                                                         
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("IlTrovatore-Setaccio/1.2 (Indexing; http://www.iltrovatore.it/bot.html; bot@iltrovatore.it)");                                                                                                              
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("IlTrovatore-Setaccio/1.2 (Indexing; http://www.iltrovatore.it/bot.html; info@iltrovatore.it)");                                                                                                             
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Iltrovatore-Setaccio/1.2 (It-bot; http://www.iltrovatore.it/bot.html; info@iltrovatore.it)");                                                                                                               
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("IlTrovatore-Setaccio/1.2-dev (Indexing; http://www.iltrovatore.it/bot.html; info@iltrovatore.it)");                                                                                                         
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("iltrovatore-setaccio/1.2-dev (spidering; http://www.iltrovatore.it/aiuto/motore_di_ricerca.html#AggiungereunaUrlalmotorediricercaIlTrovatore; info@iltrovatore.it)");                                       
			Assert.AreEqual("iltrovatore.it",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}

		[Test]
		public void	Test_MJ12bot()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("MJ12bot/v0.5.0 (http://www.majestic12.co.uk/projects/dsearch/mj12bot.php) run by  PeerID=F43AA089D42A3C7610E3778C4E73A95E MemberID=C9403BB515387FBB631AC512950E6F0E");                                      
			Assert.AreEqual("majestic12.co.uk",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("MJ12bot/v0.7.3 (http://www.majestic12.co.uk/projects/dsearch/mj12bot.php?V=v0.7.3&NID=00B09BC717C17352&MID=AEC2CECD6E8A446E");                                                                              
			Assert.AreEqual("majestic12.co.uk",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("MJ12bot/v0.7.3 (http://www.majestic12.co.uk/projects/dsearch/mj12bot.php?V=v0.7.3&NID=00B09BC717C17352&MID=AEC2CECD6E8A446E&BID=3EBE640829EEA232CDF97D844126E136");                                         
			Assert.AreEqual("majestic12.co.uk",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("MJ12bot/v0.8.0 (http://www.majestic12.co.uk/projects/dsearch/mj12bot.php?V=v0.8.0&NID=00B09BC717C17352&MID=AEC2CECD6E8A446E&BID=FFD53BA66D1D20E45D46067109BD385B");                                         
			Assert.AreEqual("majestic12.co.uk",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}

		[Test]
		public void	Test_MSNBOT()
		{
		
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("MSNBOT/0.1 (http://search.msn.com/msnbot.htm)");                                                                                                                                                            
			Assert.AreEqual("MSNBOT",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("msnbot/0.11 ( http://search.msn.com/msnbot.htm)");                                                                                                                                                          
			Assert.AreEqual("MSNBOT",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("msnbot/0.3 ( http://search.msn.com/msnbot.htm)");                                                                                                                                                           
			Assert.AreEqual("MSNBOT",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("msnbot/1.0 ( http://search.msn.com/msnbot.htm)");                                                                                                                                                           
			Assert.AreEqual("MSNBOT",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

		}
		[Test]
		public void	Test_grubclient()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.0.4; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.0.5; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.0.6; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.0.7; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.07; Crawl your own stuff with http://grub.org)");                                                                                                                    
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.1.1; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.2.1; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.3.1; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.3.7; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.4.3; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-1.5.3; Crawl your own stuff with http://grub.org)");                                                                                                                   
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; grub-client-2.3)");                                                                                                                                                                
			Assert.AreEqual("grub-client",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_Slurp()
		{		
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/3.0 (Slurp/si; slurp@inktomi.com; http://www.inktomi.com/slurp.html)");                                                                                                                             
			Assert.AreEqual("Slurp",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (compatible; Yahoo! Slurp/si-emb; http://help.yahoo.com/help/us/ysearch/slurp)");                                                                                                               
			Assert.AreEqual("Slurp",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)");                                                                                                                      
			Assert.AreEqual("Slurp",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (Slurp.so/1.0; slurp@inktomi.com; http://www.inktomi.com/slurp.html)");                                                                                                                         
			Assert.AreEqual("Slurp",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (Slurp/cat; slurp@inktomi.com; http://www.inktomi.com/slurp.html)");                                                                                                                            
			Assert.AreEqual("Slurp",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (Slurp/si; slurp@inktomi.com; http://www.inktomi.com/slurp.html)");                                                                                                                             
			Assert.AreEqual("Slurp",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Slurp/si-emb (slurp@inktomi.com; http://www.inktomi.com/slurp.html)");                                                                                                                                      
			Assert.AreEqual("Slurp",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_YahooMMCrawler()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Yahoo-MMCrawler/3.x (mms dash mmcrawler dash support at yahoo dash inc dot com)");                                                                                                                          
			Assert.AreEqual("Yahoo-MMCrawler",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

		}

		[Test]
		public void	Test_AskJeeves()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/2.0 (compatible; Ask Jeeves)");                                                                                                                                                                     
			Assert.AreEqual("Ask Jeeves",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/2.0 (compatible; Ask Jeeves/Teoma)");                                                                                                                                                               
			Assert.AreEqual("Ask Jeeves",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/2.0 (compatible; Ask Jeeves/Teoma;  http://sp.ask.com/docs/about/tech_crawling.html)");                                                                                                             
			Assert.AreEqual("Ask Jeeves",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_larbin()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("eseek-crawler-larbin-2.63 (crawler@exactseek.com)");                                                                                                                                                        
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("eseek-crawler-larbin-2.63 crawler@exactseek.com");                                                                                                                                                          
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("eseek-larbin_2.6.2 (crawler@exactseek.com)");                                                                                                                                                               
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("eseek-larbin_2.6.2 crawler@exactseek.com");                                                                                                                                                                 
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("larbin (samualt9@bigfoot.com)");                                                                                                                                                              
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("larbin samualt9@bigfoot.com");                                                                                                                                                                              
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("larbin_2.6.2 (larbin2.6.2@unspecified.mail)");                                                                                                                                                              
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("larbin_2.6.2 larbin2.6.2@unspecified.mail");                                                                                                                                                                
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("larbin_2.6.3_for_(http://cosco.hiit.fi/search/) (tsilande@hiit.fi)");                                                                                                                                       
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("larbin_2.6.3_for_(http://cosco.hiit.fi/search/) tsilande@hiit.fi");                                                                                                                                         
			Assert.AreEqual("larbin",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_libwwwperl()
		{
			R = Browser.Process("68/0.1 libwww-perl/5.66");                                                                                                                                                                                  
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.22");                                                                                                                                                                                         
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.48");                                                                                                                                                                                         
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.52 FP/4.0");                                                                                                                                                                                  
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.53");                                                                                                                                                                                         
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.64");                                                                                                                                                                                         
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.65");                                                                                                                                                                                         
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.68");                                                                                                                                                                                         
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.69");                                                                                                                                                                                         
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.76");                                                                                                                                                                                         
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.800");                                                                                                                                                                                        
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("libwww-perl/5.803");                                                                                                                                                                                        
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("linko/0.1 libwww-perl/5.65");                                                                                                                                                                               
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0_(compatible;_MSIE_6.0;_Windows_NT_5.1;_.NET_CLR_1.1.4322) libwww-perl/5.803");                                                                                                                  
			Assert.AreEqual("libwww-perl",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_nutch()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("http://www.nutch.org/");                                                                                                                                                                                    
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NutchCVS/0.03-dev (Nutch; http://www.nutch.org/docs/bot.html; nutch-agent@lists.sourceforge.net)");                                                                                                         
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NutchCVS/0.03-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent (at) lists.sourceforge.net)");                                                                                                 
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NutchCVS/0.03-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)");                                                                                                      
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NutchCVS/0.05 (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)");                                                                                                          
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NutchCVS/0.05-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)");                                                                                                      
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NutchCVS/0.06-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)");                                                                                                      
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NutchOrg/0.03-dev (Nutch; http://www.nutch.org/docs/bot.html; nutch-agent@lists.sourceforge.net)");                                                                                                         
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NutchOrg/0.04-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)");                                                                                                      
			Assert.AreEqual("Nutch",R.Browser, "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_curl()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("curl/7.10.5 (win32) libcurl/7.10.5 zlib/1.1.4");                                                                                                                                                                                            
			Assert.AreEqual("curl",R.Browser,  "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("curl/7.7.1 (i386--freebsd4.3) libcurl 7.7.1 (SSL 0.9.6) (ipv6 enabled)");                                                                                                                                                                   
			Assert.AreEqual("curl",R.Browser,  "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("curl/7.7.2 (powerpc-apple-darwin6.0) libcurl 7.7.2 (OpenSSL 0.9.6b)");                                                                                                                                                                      
			Assert.AreEqual("curl",R.Browser,  "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("curl/7.8 (i386-redhat-linux-gnu) libcurl 7.8 (OpenSSL 0.9.6b) (ipv6 enabled)");                                                                                                                                                             
			Assert.AreEqual("curl",R.Browser,  "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("curl/7.9.1 (win32) libcurl 7.9.1");                                                                                                                                                                                                         
			Assert.AreEqual("curl",R.Browser,  "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
						
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("curl/7.9.8 (i386-redhat-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.7a) (ipv6 enabled)");                                                                                                                                                         
			Assert.AreEqual("curl",R.Browser,  "Browser Name Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_Java()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.1_01");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.1_02");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.1_05");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.2");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.2-beta");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.2_01");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.2_03");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.2_04");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.4.2_06");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java/1.5.0_01");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.5",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java1.1.8");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.1",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java1.3.0");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.3",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java1.3.1_06");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.3",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java1.3beta");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.3",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java1.4.0");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java1.4.0_02");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Java1.4.0_03");
			Assert.AreEqual("Java", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.4",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_become()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (compatible; BecomeBot/1.23;  http://www.become.com/webmasters.html)");
			Assert.AreEqual("become.com", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.23",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (compatible; BecomeBot/1.70; MSIE 6.0 compatible;  http://www.become.com/webmasters.html)");
			Assert.AreEqual("become.com", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.70",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (compatible; BecomeBot/2.0.3;  http://www.become.com/webmasters.html)");
			Assert.AreEqual("become.com", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("2.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (compatible; BecomeBot/2.2.1; MSIE 6.0 compatible;  http://www.become.com/webmasters.html)");
			Assert.AreEqual("become.com", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("2.2",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/5.0 (compatible; BecomeBot/2.2.5; MSIE 6.0 compatible;  http://www.become.com/site_owners.html)");
			Assert.AreEqual("become.com", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("2.2",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_NaverBot()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NaverBot-1.0 (NHN Corp. /  82-2-3011-1954 / nhnbot@naver.com)");
			Assert.AreEqual("NaverBot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("NaverBot_dloader/1.5");
			Assert.AreEqual("NaverBot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}

		[Test]
		public void	Test_WebServicesClient()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 1.0.3705.0)");
			Assert.AreEqual("MS Web Services Client Protocol", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 1.0.3705.288)");
			Assert.AreEqual("MS Web Services Client Protocol", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 1.1.4322.2032)");
			Assert.AreEqual("MS Web Services Client Protocol", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 1.1.4322.573)");
			Assert.AreEqual("MS Web Services Client Protocol", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_WISEnutbot()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 compatible ZyBorg/1.0 (wn-1.zyborg@looksmart.net; http://www.WISEnutbot.com)");
			Assert.AreEqual("WISEnutbot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 compatible ZyBorg/1.0 (wn-12.zyborg@looksmart.net; http://www.WISEnutbot.com)");
			Assert.AreEqual("WISEnutbot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 compatible ZyBorg/1.0 (wn-2.zyborg@looksmart.net; http://www.WISEnutbot.com)");
			Assert.AreEqual("WISEnutbot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)");
			Assert.AreEqual("WISEnutbot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 compatible ZyBorg/1.0 (ZyBorg@WISEnutbot.com; http://www.WISEnutbot.com)");
			Assert.AreEqual("WISEnutbot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)");
			Assert.AreEqual("WISEnutbot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker Beta-d01 (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)");
			Assert.AreEqual("WISEnutbot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
			
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Mozilla/4.0 compatible ZyBorg/1.0 DLC (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)");
			Assert.AreEqual("WISEnutbot", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("0.0",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void	Test_wget()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.5.3");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.5",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.5.3.1");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.5",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.6");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.6",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.7");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.7",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.8.1");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.8",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.8.2");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.8",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.9");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.9",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.9 cvs-stable (Red Hat modified)");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.9",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");

			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("Wget/1.9.1");
			Assert.AreEqual("wget", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("1.9",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
		[Test]
		public void Test_Jeanie()
		{
			//-------------------------------------------------------------------
			//
			//-------------------------------------------------------------------
			R = Browser.Process("compatible;MSIE+6.0;Windows+NT+5.51+SP+Jeanie/3.3.2.609+SP+Jeanie/3.3.2.609");
			Assert.AreEqual("Jeanie", R.Browser,  "Browser Name Compare");
			Assert.AreEqual("3.3",R.Version, "Browser Version Compare");
			Assert.AreEqual(true,R.IsBot, "Browser IsBot");
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Chris Maunder
Founder CodeProject
Canada Canada
Chris is the Co-founder, Administrator, Architect, Chief Editor and Shameless Hack who wrote and runs The Code Project. He's been programming since 1988 while pretending to be, in various guises, an astrophysicist, mathematician, physicist, hydrologist, geomorphologist, defence intelligence researcher and then, when all that got a bit rough on the nerves, a web developer. He is a Microsoft Visual C++ MVP both globally and for Canada locally.
 
His programming experience includes C/C++, C#, SQL, MFC, ASP, ASP.NET, and far, far too much FORTRAN. He has worked on PocketPCs, AIX mainframes, Sun workstations, and a CRAY YMP C90 behemoth but finds notebooks take up less desk space.
 
He dodges, he weaves, and he never gets enough sleep. He is kind to small animals.
 
Chris was born and bred in Australia but splits his time between Toronto and Melbourne, depending on the weather. For relaxation he is into road cycling, snowboarding, rock climbing, and storm chasing.
Follow on   Twitter   Google+   LinkedIn

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.141220.1 | Last Updated 6 May 2009
Article Copyright 2004 by Chris Maunder
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid