[Mono-devel-list] Re: XmlConvertTests patch

Atsushi Eno ginga at kit.hi-ho.ne.jp
Sat Oct 4 22:34:26 EDT 2003


Hello Jon,

Thanks for the nice tests. I just applied your patch.

Atsushi Eno

Jonathan Kessler wrote:
> Disregard that last patch; Ben tells me it's in the wrong format.
> 
> Jon Kessler
> 
> 
> ------------------------------------------------------------------------
> 
> Index: XmlConvertTests.cs
> ===================================================================
> RCS file: /mono/mcs/class/System.XML/Test/System.Xml/XmlConvertTests.cs,v
> retrieving revision 1.4
> diff -u -r1.4 XmlConvertTests.cs
> --- XmlConvertTests.cs	24 Jul 2003 17:34:42 -0000	1.4
> +++ XmlConvertTests.cs	5 Oct 2003 00:48:38 -0000
> @@ -1,80 +1,292 @@
> -//
> -// System.Xml.XmlConvertTests.cs
> -//
> -// Author: Atsushi Enomoto (ginga at kit.hi-ho.ne.jp)
> -//
> -// (C) 2003 Atsushi Enomoto
> -//
> -
> -using System;
> -using System.Xml;
> -using NUnit.Framework;
> -
> -namespace MonoTests.System.Xml
> -{
> -	[TestFixture]
> -	public class XmlConvertTests : Assertion
> -	{
> -		private void AssertName (string result, string source)
> -		{
> -			AssertEquals (result,
> -				XmlConvert.EncodeName (source));
> -		}
> -
> -		private void AssertNmToken (string result, string source)
> -		{
> -			AssertEquals (result,
> -				XmlConvert.EncodeNmToken (source));
> -		}
> -
> -		[Test]
> -		public void EncodeName ()
> -		{
> -			AssertName ("Test", "Test");
> -			AssertName ("Hello_x0020_my_x0020_friends.", "Hello my friends.");
> -			AssertName ("_x0031_23", "123");
> -			AssertName ("_x005F_x0031_23", "_x0031_23");
> -		}
> -
> -		[Test]
> -		public void EncodeNmToken ()
> -		{
> -			AssertNmToken ("Test", "Test");
> -			AssertNmToken ("Hello_x0020_my_x0020_friends.", "Hello my friends.");
> -			AssertNmToken ("123", "123");
> -			AssertNmToken ("_x005F_x0031_23", "_x0031_23");
> -		}
> -
> -		[Test]
> -		public void DateToString ()
> -		{
> -			// Don't include TimeZone value for test value.
> -			string dateString = 
> -				XmlConvert.ToString (new DateTime (2003, 5, 5));
> -			AssertEquals (33, dateString.Length);
> -			AssertEquals ("2003-05-05T00:00:00.0000000", dateString.Substring (0, 27));
> -		}
> -
> -		[Test]
> -		public void VerifyNCName ()
> -		{
> -			AssertEquals ("foo", XmlConvert.VerifyNCName ("foo"));
> -			try {
> -				XmlConvert.VerifyNCName ("?foo");
> -				Fail ();
> -			} catch (XmlException) {}
> -			try {
> -				XmlConvert.VerifyNCName (":foo");
> -				Fail ();
> -			} catch (XmlException) {}
> -			try {
> -				XmlConvert.VerifyNCName ("foo:bar");
> -				Fail ();
> -			} catch (XmlException) {}
> -			try {
> -				XmlConvert.VerifyNCName ("foo:bar:baz");
> -				Fail ();
> -			} catch (XmlException) {}
> -		}
> -	}
> -}
> +//
> +// System.Xml.XmlConvertTests.cs
> +//
> +// Authors: Atsushi Enomoto (ginga at kit.hi-ho.ne.jp), Jon Kessler (jwkpiano1 at comcast.net)
> +//
> +// (C) 2003 Atsushi Enomoto, Jon Kessler
> +//
> +
> +using System;
> +using System.Xml;
> +using NUnit.Framework;
> +
> +namespace MonoTests.System.Xml
> +{
> +	[TestFixture]
> +	public class XmlConvertTests : Assertion
> +	{
> +		private void AssertName (string result, string source)
> +		{
> +			AssertEquals (result,
> +				XmlConvert.EncodeName (source));
> +		}
> +		
> +		private void AssertNmToken (string result, string source)
> +		{
> +			AssertEquals (result,
> +				XmlConvert.EncodeNmToken (source));
> +		}
> +		
> +		[Test]
> +		public void DecodeName ()
> +		{
> +			AssertEquals (null, XmlConvert.DecodeName (null));
> +			AssertEquals ("", XmlConvert.DecodeName (""));
> +			AssertEquals ("Test", XmlConvert.DecodeName ("Test"));
> +			AssertEquals ("_Test", XmlConvert.DecodeName ("_Test"));
> +			AssertEquals ("_hello_friends", XmlConvert.DecodeName ("_hello_friends"));
> +			AssertEquals ("_hello friends", XmlConvert.DecodeName ("_hello friends"));
> +			AssertEquals (" ", XmlConvert.DecodeName ("_x0020_"));
> +		}
> +		
> +		[Test]
> +		public void EncodeLocalName ()
> +		{
> +			AssertEquals ("Hello_x003A__x0020_", XmlConvert.EncodeLocalName ("Hello: "));
> +			AssertEquals ("Hello", XmlConvert.EncodeLocalName ("Hello"));
> +		}
> +		
> +		[Test]
> +		public void EncodeName ()
> +		{
> +			AssertName ("Test", "Test");
> +			AssertName ("Hello_x0020_my_x0020_friends.", "Hello my friends.");
> +			AssertName ("_x0031_23", "123");
> +			AssertName ("_x005F_x0031_23", "_x0031_23");
> +		}
> +		
> +		[Test]
> +		public void EncodeNmToken ()
> +		{
> +			AssertNmToken ("Test", "Test");
> +			AssertNmToken ("Hello_x0020_my_x0020_friends.", "Hello my friends.");
> +			AssertNmToken ("123", "123");
> +			AssertNmToken ("_x005F_x0031_23", "_x0031_23");
> +		}
> +		
> +		[Test]
> +		public void ToBoolean ()
> +		{
> +			AssertEquals (true, XmlConvert.ToBoolean ("  1 "));
> +			AssertEquals (true, XmlConvert.ToBoolean (" true "));
> +			AssertEquals (false, XmlConvert.ToBoolean (" 0 "));
> +			AssertEquals (false, XmlConvert.ToBoolean (" false "));
> +			try
> +			{
> +				AssertEquals (false, XmlConvert.ToBoolean (" invalid "));
> +			}
> +			catch (FormatException)
> +			{
> +			}
> +		}
> +		
> +		[Test]
> +		public void ToByte ()
> +		{
> +			AssertEquals (255, XmlConvert.ToByte ("255"));
> +		}
> +		
> +		[Test]
> +		public void ToChar ()
> +		{
> +			AssertEquals ('x', XmlConvert.ToChar ("x"));
> +		}
> +		
> +		[Test]
> +		public void ToDateTime ()//fails on Mono
> +		{
> +			//dateTime
> +			AssertEquals (632001798000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00").Ticks);
> +			AssertEquals (632001798000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0").Ticks);
> +			AssertEquals (632001798000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.00").Ticks);
> +			AssertEquals (632001798000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.000").Ticks);
> +			AssertEquals (632001798000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0000").Ticks);
> +			AssertEquals (632001798000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.00000").Ticks);
> +			AssertEquals (632001798000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.000000").Ticks);
> +			AssertEquals (632001798000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0000000").Ticks);
> +			AssertEquals (632001150000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00+13:00").Ticks);
> +			AssertEquals (632001150000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0+13:00").Ticks);
> +			AssertEquals (632001150000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.00+13:00").Ticks);
> +			AssertEquals (632001150000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.000+13:00").Ticks);
> +			AssertEquals (632001150000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0000+13:00").Ticks);
> +			AssertEquals (632001150000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.00000+13:00").Ticks);
> +			AssertEquals (632001150000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.000000+13:00").Ticks);
> +			AssertEquals (632001150000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0000000+13:00").Ticks);
> +			AssertEquals (632001618000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00Z").Ticks);
> +			AssertEquals (632001618000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0Z").Ticks);
> +			AssertEquals (632001618000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.00Z").Ticks);
> +			AssertEquals (632001618000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.000Z").Ticks);
> +			AssertEquals (632001618000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0000Z").Ticks);
> +			AssertEquals (632001618000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.00000Z").Ticks);
> +			AssertEquals (632001618000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.000000Z").Ticks);
> +			AssertEquals (632001618000000000L, XmlConvert.ToDateTime ("2003-09-26T13:30:00.0000000Z").Ticks);
> +			//time
> +			DateTime t1 = new DateTime (DateTime.Today.Year, 1, 1);
> +			t1 = DateTime.Today + new TimeSpan (12,0,0);
> +			AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00").Ticks);
> +			AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.0").Ticks);
> +			AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.00").Ticks);
> +			AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.000").Ticks);
> +			AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.0000").Ticks);
> +			AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.00000").Ticks);
> +			AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.000000").Ticks);
> +			AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.0000000").Ticks);
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00+13:00").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.f+13:00").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.ff+13:00").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.fff+13:00").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.ffff+13:00").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.fffff+13:00").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.ffffff+13:00").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.fffffff+13:00").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00Z").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.fZ").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.ffZ").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.fffZ").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.ffffZ").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.fffffZ").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.ffffffZ").Ticks);//doesn't work on .NET
> +			//AssertEquals (t1.Ticks, XmlConvert.ToDateTime ("12:00:00.fffffffZ").Ticks);//doesn't work on .NET
> +			//date
> +			AssertEquals (632001312000000000L, XmlConvert.ToDateTime ("2003-09-26").Ticks);
> +			AssertEquals (632000664000000000L, XmlConvert.ToDateTime ("2003-09-26+13:00").Ticks);
> +			AssertEquals (632001132000000000L, XmlConvert.ToDateTime ("2003-09-26Z").Ticks);
> +			//gYearMonth
> +			AssertEquals (631979712000000000L, XmlConvert.ToDateTime ("2003-09").Ticks);
> +			AssertEquals (631979064000000000L, XmlConvert.ToDateTime ("2003-09+13:00").Ticks);
> +			AssertEquals (631979532000000000L, XmlConvert.ToDateTime ("2003-09Z").Ticks);
> +			//gYear
> +			AssertEquals (631769760000000000L, XmlConvert.ToDateTime ("2003").Ticks);
> +			AssertEquals (631769076000000000L, XmlConvert.ToDateTime ("2003+13:00").Ticks);
> +			AssertEquals (631769544000000000L, XmlConvert.ToDateTime ("2003Z").Ticks);
> +			//gMonthDay
> +			AssertEquals (632001312000000000L, XmlConvert.ToDateTime ("--09-26").Ticks);//shouldn't have a hardcoded value
> +			AssertEquals (632000664000000000L, XmlConvert.ToDateTime ("--09-26+13:00").Ticks);//shouldn't have a hardcoded value
> +			AssertEquals (632001132000000000L, XmlConvert.ToDateTime ("--09-26Z").Ticks);//shouldn't have a hardcoded value
> +			//gDay
> +			AssertEquals (631791360000000000L, XmlConvert.ToDateTime ("---26").Ticks);//shouldn't have a hardcoded value
> +			AssertEquals (631790676000000000L, XmlConvert.ToDateTime ("---26+13:00").Ticks);//shouldn't have a hardcoded value
> +			AssertEquals (631791144000000000L, XmlConvert.ToDateTime ("---26Z").Ticks);//shouldn't have a hardcoded value
> +			try
> +			{
> +				AssertEquals (45L, XmlConvert.ToDateTime (";ljdfas;kl").Ticks);
> +			}
> +			catch (Exception)
> +			{
> +			}
> +		}
> +		
> +		[Test]
> +		public void ToDecimal ()
> +		{
> +			AssertEquals (1.987, XmlConvert.ToDecimal ("1.987"));
> +		}
> +		
> +		[Test]
> +		public void ToDouble ()
> +		{
> +			AssertEquals (1.0d/0.0d, XmlConvert.ToDouble ("INF"));
> +			AssertEquals (-1.0d/0.0d, XmlConvert.ToDouble ("-INF"));
> +			AssertEquals (0.0d/0.0d, XmlConvert.ToDouble ("NaN"));
> +			AssertEquals (789324, XmlConvert.ToDouble ("789324"));
> +		}
> +		
> +		[Test]
> +		public void ToGuid ()
> +		{
> +			AssertEquals (new Guid ("ca761232-ed42-11ce-bacd-00aa0057b223"), XmlConvert.ToGuid ("ca761232-ed42-11ce-bacd-00aa0057b223"));
> +		}
> +	
> +		[Test]
> +		public void ToInt16 ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void ToInt32 ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void ToInt64 ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void ToSByte ()//not done
> +		{
> +		}
> +		
> +		[Test]
> +		public void ToSingle ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void toString ()//not done
> +		{
> +			// Don't include TimeZone value for test value.
> +			string dateString = 
> +				XmlConvert.ToString (new DateTime (2003, 5, 5));
> +			AssertEquals (33, dateString.Length);
> +			AssertEquals ("2003-05-05T00:00:00.0000000", dateString.Substring (0, 27));
> +		}
> +		
> +		[Test]
> +		public void ToTimeSpan ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void ToUInt16 ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void ToUInt32 ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void ToUInt64 ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void VerifyName ()//not done
> +		{
> +			
> +		}
> +		
> +		[Test]
> +		public void VerifyNCName ()
> +		{
> +			AssertEquals ("foo", XmlConvert.VerifyNCName ("foo"));
> +			try {
> +				XmlConvert.VerifyNCName ("?foo");
> +				Fail ();
> +			} catch (XmlException) {}
> +			try {
> +				XmlConvert.VerifyNCName (":foo");
> +				Fail ();
> +			} catch (XmlException) {}
> +			try {
> +				XmlConvert.VerifyNCName ("foo:bar");
> +				Fail ();
> +			} catch (XmlException) {}
> +			try {
> +				XmlConvert.VerifyNCName ("foo:bar:baz");
> +				Fail ();
> +			} catch (XmlException) {}
> +		}
> +	}
> +}
> +





More information about the Mono-devel-list mailing list