2 // BooleanTest.cs - NUnit Test Cases for the System.Boolean class
5 // Bob Doan <bdoan@sicompos.com>
6 // Sebastien Pouliot <sebastien@ximian.com>
8 // (C) Ximian, Inc. http://www.ximian.com
9 // Copyright (C) 2004 Novell (http://www.novell.com)
12 using NUnit
.Framework
;
14 using System
.Globalization
;
16 namespace MonoTests
.System
{
19 public class BooleanTest
: Assertion
{
22 public void Strings ()
24 AssertEquals("Wrong False string", "False", Boolean
.FalseString
);
25 AssertEquals("Wrong True string", "True", Boolean
.TrueString
);
29 public void CompareTo ()
31 Boolean t
=true,f
=false;
32 Assert ("f.CompareTo(t) < 0", f
.CompareTo(t
) < 0);
33 Assert ("f.CompareTo(f)", f
.CompareTo(f
) == 0);
34 Assert ("t.CompareTo(t) == 0", t
.CompareTo(t
) == 0);
35 Assert ("t.CompareTo(f) > 0", t
.CompareTo(f
) > 0);
36 Assert ("t.CompareTo(null) > 0", t
.CompareTo(null) > 0);
38 byte[] array
= new byte [1] { 0x02 }
;
39 bool t2
= BitConverter
.ToBoolean (array
, 0);
40 Assert ("f.CompareTo(t2) < 0", f
.CompareTo(t2
) < 0);
41 Assert ("t2.CompareTo(t2) == 0", t2
.CompareTo(t2
) == 0);
42 Assert ("t2.CompareTo(f) > 0", t2
.CompareTo(f
) > 0);
43 Assert ("t2.CompareTo(null) > 0", t2
.CompareTo(null) > 0);
47 [ExpectedException (typeof (ArgumentException
))]
48 public void CompareToInvalidString ()
50 true.CompareTo ("What Ever");
54 public void TestEquals ()
56 Boolean t
=true, f
=false;
57 string s
= "What Ever";
58 Assert ("t.Equals(t)", t
.Equals(t
));
59 Assert ("f.Equals(f)", f
.Equals(f
));
60 Assert ("!t.Equals(f)", !t
.Equals(f
));
61 Assert ("!f.Equals(t)", !f
.Equals(t
));
62 Assert ("!t.Equals(null)", !t
.Equals(null));
63 Assert ("!f.Equals(null)", !f
.Equals(null));
64 Assert ("!t.Equals(s)", !t
.Equals(s
));
65 Assert ("!f.Equals(s)", !f
.Equals(s
));
67 byte[] array
= new byte [1] { 0x02 }
;
68 bool t2
= BitConverter
.ToBoolean (array
, 0);
69 Assert ("t2.Equals(t2)", t2
.Equals(t2
));
70 Assert ("t.Equals(t2)", t
.Equals(t2
));
71 Assert ("t2.Equals(t)", t2
.Equals(t
));
72 Assert ("!f.Equals(t2)", !f
.Equals(t2
));
76 public void TestEqualOperator ()
78 Boolean t
=true, f
=false;
79 Assert ("t==t", t
==t
);
80 Assert ("f==f", f
==f
);
81 Assert ("t!=f", t
!=f
);
82 Assert ("f!=t", f
!=t
);
84 byte[] array
= new byte [1] { 0x02 }
;
85 bool t2
= BitConverter
.ToBoolean (array
, 0);
86 Assert ("t2==t2", t2
==t2
);
87 Assert ("t==t2", t
==t2
);
88 Assert ("t2==t", t2
==t
);
89 Assert ("f!=t2", f
!=t2
);
93 public void TestGetHashCode ()
95 Boolean t
=true, f
=false;
96 AssertEquals("GetHashCode True failed", 1, t
.GetHashCode());
97 AssertEquals("GetHashCode True failed", 0, f
.GetHashCode());
101 public void TestGetType ()
103 Boolean t
=true, f
=false;
104 AssertEquals("GetType failed", true, Object
.ReferenceEquals(t
.GetType(), f
.GetType()));
108 public void GetTypeCode ()
111 AssertEquals("GetTypeCode failed", TypeCode
.Boolean
, b
.GetTypeCode());
117 AssertEquals("Parse True failed", true, Boolean
.Parse("True"));
118 AssertEquals("Parse True failed", true, Boolean
.Parse(" True"));
119 AssertEquals("Parse True failed", true, Boolean
.Parse("True "));
120 AssertEquals("Parse True failed", true, Boolean
.Parse("tRuE"));
121 AssertEquals("Parse False failed", false, Boolean
.Parse("False"));
122 AssertEquals("Parse False failed", false, Boolean
.Parse(" False"));
123 AssertEquals("Parse False failed", false, Boolean
.Parse("False "));
124 AssertEquals("Parse False failed", false, Boolean
.Parse("fAlSe"));
128 [ExpectedException (typeof (FormatException
))]
129 public void ParseInvalid ()
131 Boolean
.Parse ("not-t-or-f");
135 [ExpectedException (typeof (ArgumentNullException
))]
136 public void ParseNull ()
138 Boolean
.Parse (null);
142 public void TestToString ()
144 Boolean t
=true,f
=false;
145 AssertEquals("ToString True Failed", Boolean
.TrueString
, t
.ToString());
146 AssertEquals("ToString False Failed", Boolean
.FalseString
, f
.ToString());