update readme (#21797)
[mono-project.git] / mcs / class / System.Data / Test / System.Data.SqlTypes / SqlBooleanTest.cs
blob62e26521c56ba6505cbbb4fc2278ca9240c5bafd
1 // SqlDataTimeTest.cs - NUnit Test Cases for [explain here]
2 //
3 // Authors:
4 // Ville Palo (vi64pa@users.sourceforge.net)
5 // Martin Willemoes Hansen
6 //
7 // (C) Ville Palo
8 //
11 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
13 // Permission is hereby granted, free of charge, to any person obtaining
14 // a copy of this software and associated documentation files (the
15 // "Software"), to deal in the Software without restriction, including
16 // without limitation the rights to use, copy, modify, merge, publish,
17 // distribute, sublicense, and/or sell copies of the Software, and to
18 // permit persons to whom the Software is furnished to do so, subject to
19 // the following conditions:
20 //
21 // The above copyright notice and this permission notice shall be
22 // included in all copies or substantial portions of the Software.
23 //
24 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 using NUnit.Framework;
34 using System;
35 using System.Xml;
36 using System.Data.SqlTypes;
37 using System.Threading;
38 using System.Globalization;
40 namespace MonoTests.System.Data.SqlTypes
43 [TestFixture]
44 public class SqlBooleanTest {
45 private SqlBoolean SqlTrue;
46 private SqlBoolean SqlFalse;
48 [SetUp]
49 public void GetReady() {
51 Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
52 SqlTrue = new SqlBoolean(true);
53 SqlFalse = new SqlBoolean(false);
57 [Test]
58 public void Create ()
60 SqlBoolean SqlTrue2 = new SqlBoolean(1);
61 SqlBoolean SqlFalse2 = new SqlBoolean(0);
63 Assert.IsTrue (SqlTrue.Value, "Creation of SqlBoolean failed");
64 Assert.IsTrue (SqlTrue2.Value, "Creation of SqlBoolean failed");
65 Assert.IsTrue (!SqlFalse.Value, "Creation of SqlBoolean failed");
66 Assert.IsTrue (!SqlFalse2.Value, "Creation of SqlBoolean failed");
70 ////
71 // PUBLIC STATIC METHODS
74 // And
75 [Test]
76 public void And() {
78 SqlBoolean SqlTrue2 = new SqlBoolean(true);
79 SqlBoolean SqlFalse2 = new SqlBoolean(false);
81 // One result value
82 SqlBoolean sqlResult;
84 // true && false
85 sqlResult = SqlBoolean.And(SqlTrue, SqlFalse);
86 Assert.IsTrue (!sqlResult.Value, "And method does not work correctly (true && false)");
87 sqlResult = SqlBoolean.And(SqlFalse, SqlTrue);
88 Assert.IsTrue (!sqlResult.Value, "And method does not work correctly (false && true)");
90 // true && true
91 sqlResult = SqlBoolean.And(SqlTrue, SqlTrue2);
92 Assert.IsTrue (sqlResult.Value, "And method does not work correctly (true && true)");
94 sqlResult = SqlBoolean.And(SqlTrue, SqlTrue);
95 Assert.IsTrue (sqlResult.Value, "And method does not work correctly (true && true2)");
97 // false && false
98 sqlResult = SqlBoolean.And(SqlFalse, SqlFalse2);
99 Assert.IsTrue (!sqlResult.Value, "And method does not work correctly (false && false)");
100 sqlResult = SqlBoolean.And(SqlFalse, SqlFalse);
101 Assert.IsTrue (!sqlResult.Value, "And method does not work correctly (false && false2)");
105 // NotEquals
106 [Test]
107 public void NotEquals() {
109 SqlBoolean SqlTrue2 = new SqlBoolean(true);
110 SqlBoolean SqlFalse2 = new SqlBoolean(false);
112 SqlBoolean SqlResult;
114 // true != false
115 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlFalse);
116 Assert.IsTrue (SqlResult.Value, "NotEquals method does not work correctly (true != false)");
117 SqlResult = SqlBoolean.NotEquals(SqlFalse, SqlTrue);
118 Assert.IsTrue (SqlResult.Value, "NotEquals method does not work correctly (false != true)");
121 // true != true
122 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlTrue);
123 Assert.IsTrue (!SqlResult.Value, "NotEquals method does not work correctly (true != true)");
124 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlTrue2);
125 Assert.IsTrue (!SqlResult.Value, "NotEquals method does not work correctly (true != true2)");
126 // false != false
127 SqlResult = SqlBoolean.NotEquals(SqlFalse, SqlFalse);
128 Assert.IsTrue (!SqlResult.Value, "NotEquals method does not work correctly (false != false)");
129 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlTrue2);
130 Assert.IsTrue (!SqlResult.Value, "NotEquals method does not work correctly (false != false2)");
132 // If either instance of SqlBoolean is null, the Value of the SqlBoolean will be Null.
133 SqlResult = SqlBoolean.NotEquals(SqlBoolean.Null, SqlFalse);
134 Assert.IsTrue (SqlResult.IsNull, "NotEquals method does not work correctly (Null != false)");
135 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlBoolean.Null);
136 Assert.IsTrue (SqlResult.IsNull, "NotEquals method does not work correctly (false != Null)");
140 // OnesComplement
141 [Test]
142 public void OnesComplement() {
144 SqlBoolean SqlFalse2 = SqlBoolean.OnesComplement(SqlTrue);
145 Assert.IsTrue (!SqlFalse2.Value, "OnesComplement method does not work correctly");
147 SqlBoolean SqlTrue2 = SqlBoolean.OnesComplement(SqlFalse);
148 Assert.IsTrue (SqlTrue2.Value, "OnesComplement method does not work correctly");
152 // Or
153 [Test]
154 public void Or() {
156 SqlBoolean SqlTrue2 = new SqlBoolean(true);
157 SqlBoolean SqlFalse2 = new SqlBoolean(false);
159 SqlBoolean SqlResult;
161 // true || false
162 SqlResult = SqlBoolean.Or(SqlTrue, SqlFalse);
163 Assert.IsTrue (SqlResult.Value, "Or method does not work correctly (true || false)");
164 SqlResult = SqlBoolean.Or(SqlFalse, SqlTrue);
165 Assert.IsTrue (SqlResult.Value, "Or method does not work correctly (false || true)");
167 // true || true
168 SqlResult = SqlBoolean.Or(SqlTrue, SqlTrue);
169 Assert.IsTrue (SqlResult.Value, "Or method does not work correctly (true || true)");
170 SqlResult = SqlBoolean.Or(SqlTrue, SqlTrue2);
171 Assert.IsTrue (SqlResult.Value, "Or method does not work correctly (true || true2)");
173 // false || false
174 SqlResult = SqlBoolean.Or(SqlFalse, SqlFalse);
175 Assert.IsTrue (!SqlResult.Value, "Or method does not work correctly (false || false)");
176 SqlResult = SqlBoolean.Or(SqlFalse, SqlFalse2);
177 Assert.IsTrue (!SqlResult.Value, "Or method does not work correctly (false || false2)");
182 // Parse
183 [Test]
184 public void Parse() {
186 String error = "Parse method does not work correctly ";
188 Assert.IsTrue (SqlBoolean.Parse("True").Value, "#1 " + error);
189 Assert.IsTrue (SqlBoolean.Parse(" True").Value, "#2 " + error);
190 Assert.IsTrue (SqlBoolean.Parse("True ").Value, "#3 " + error);
191 Assert.IsTrue (SqlBoolean.Parse("tRuE").Value, "#4 " + error);
192 Assert.IsTrue (!SqlBoolean.Parse("False").Value, "#5 " + error);
193 Assert.IsTrue (!SqlBoolean.Parse(" False").Value, "#6 " + error);
194 Assert.IsTrue (!SqlBoolean.Parse("False ").Value, "#7 " + error);
195 Assert.IsTrue (!SqlBoolean.Parse("fAlSe").Value, "#8 " + error);
199 // Xor
200 [Test]
201 public void Xor() {
203 SqlBoolean SqlTrue2 = new SqlBoolean(true);
204 SqlBoolean SqlFalse2 = new SqlBoolean(false);
206 SqlBoolean SqlResult;
208 // true ^ false
209 SqlResult = SqlBoolean.Xor(SqlTrue, SqlFalse);
210 Assert.IsTrue (SqlResult.Value, "Xor method does not work correctly (true ^ false)");
211 SqlResult = SqlBoolean.Xor(SqlFalse, SqlTrue);
212 Assert.IsTrue (SqlResult.Value, "Xor method does not work correctly (false ^ true)");
214 // true ^ true
215 SqlResult = SqlBoolean.Xor(SqlTrue, SqlTrue2);
216 Assert.IsTrue (!SqlResult.Value, "Xor method does not work correctly (true ^ true)");
218 // false ^ false
219 SqlResult = SqlBoolean.Xor(SqlFalse, SqlFalse2);
220 Assert.IsTrue (!SqlResult.Value, "Xor method does not work correctly (false ^ false)");
224 // static Equals
225 [Test]
226 public void StaticEquals() {
228 SqlBoolean SqlTrue2 = new SqlBoolean(true);
229 SqlBoolean SqlFalse2 = new SqlBoolean(false);
230 String error = "Static Equals method does not work correctly ";
232 Assert.IsTrue (SqlBoolean.Equals(SqlTrue, SqlTrue2).Value, error + "(true == true)");
233 Assert.IsTrue (SqlBoolean.Equals(SqlFalse, SqlFalse2).Value, error + "(false == false)");
235 Assert.IsTrue (!SqlBoolean.Equals(SqlTrue, SqlFalse).Value, error + "(true == false)");
236 Assert.IsTrue (!SqlBoolean.Equals(SqlFalse, SqlTrue).Value, error + "(false == true)");
238 Assert.AreEqual (SqlBoolean.Null, SqlBoolean.Equals(SqlBoolean.Null, SqlFalse), error + "(null == false)");
239 Assert.AreEqual (SqlBoolean.Null, SqlBoolean.Equals(SqlTrue, SqlBoolean.Null), error + "(true == null)");
244 // END OF STATIC METHODS
245 ////
247 ////
248 // PUBLIC METHODS
251 // CompareTo
252 [Test]
253 public void CompareTo() {
255 String error = "CompareTo method does not work correctly";
257 Assert.IsTrue ((SqlTrue.CompareTo(SqlBoolean.Null) > 0), error);
258 Assert.IsTrue ((SqlTrue.CompareTo(SqlFalse) > 0), error);
259 Assert.IsTrue ((SqlFalse.CompareTo(SqlTrue) < 0), error);
260 Assert.IsTrue ((SqlFalse.CompareTo(SqlFalse) == 0), error);
264 // Equals
265 [Test]
266 public void Equals() {
268 SqlBoolean SqlTrue2 = new SqlBoolean(true);
269 SqlBoolean SqlFalse2 = new SqlBoolean(false);
271 String error = "Equals method does not work correctly ";
272 Assert.IsTrue (SqlTrue.Equals(SqlTrue2), error + "(true == true)");
273 Assert.IsTrue (SqlFalse.Equals(SqlFalse2), error + "(false == false)");
275 Assert.IsTrue (!SqlTrue.Equals(SqlFalse), error + "(true == false)");
276 Assert.IsTrue (!SqlFalse.Equals(SqlTrue), error + "(false == true)");
278 Assert.IsFalse (SqlTrue.Equals(SqlBoolean.Null), error + "(true != null)");
279 Assert.IsFalse (SqlFalse.Equals(SqlBoolean.Null), error + "(false != null)");
281 Assert.IsTrue (!SqlTrue.Equals(null), error + "(true == false)");
282 Assert.IsTrue (SqlBoolean.Null.Equals (SqlBoolean.Null), "null == null");
283 Assert.IsFalse (SqlBoolean.Null.Equals (SqlTrue), "null != true");
284 Assert.IsFalse (SqlBoolean.Null.Equals (SqlFalse), "null != false");
287 [Test]
288 public void GetHashCodeTest() {
290 Assert.AreEqual (1, SqlTrue.GetHashCode(), "GetHashCode method does not work correctly");
292 Assert.AreEqual (0, SqlFalse.GetHashCode(), "GetHashCode method does not work correctly");
296 // GetType
297 [Test]
298 public void GetTypeTest() {
300 Assert.AreEqual ("System.Data.SqlTypes.SqlBoolean", SqlTrue.GetType().ToString(), "GetType method does not work correctly");
303 // ToSqlByte
304 [Test]
305 public void ToSqlByte() {
307 SqlByte SqlTestByte;
309 String error = "ToSqlByte method does not work correctly ";
311 SqlTestByte = SqlTrue.ToSqlByte();
312 Assert.AreEqual ((byte)1,SqlTestByte.Value, error);
314 SqlTestByte = SqlFalse.ToSqlByte();
315 Assert.AreEqual ((byte)0, SqlTestByte.Value, error);
319 // ToSqlDecimal
320 [Test]
321 public void ToSqlDecimal() {
323 SqlDecimal SqlTestDecimal;
325 String error = "ToSqlDecimal method does not work correctly ";
326 SqlTestDecimal = SqlTrue.ToSqlDecimal();
328 Assert.AreEqual ((decimal)1, SqlTestDecimal.Value, error);
330 SqlTestDecimal = SqlFalse.ToSqlDecimal();
331 Assert.AreEqual ((decimal)0, SqlTestDecimal.Value, error);
334 // ToSqlDouble
335 [Test]
336 public void ToSqlDouble() {
338 SqlDouble SqlTestDouble;
340 String error = "ToSqlDouble method does not work correctly ";
341 SqlTestDouble = SqlTrue.ToSqlDouble();
342 Assert.AreEqual ((double)1, SqlTestDouble.Value, error);
344 SqlTestDouble = SqlFalse.ToSqlDouble();
345 Assert.AreEqual ((double)0, SqlTestDouble.Value, error);
348 // ToSqlInt16
349 [Test]
350 public void ToSqlInt16() {
352 SqlInt16 SqlTestInt16;
354 String error = "ToSqlInt16 method does not work correctly ";
355 SqlTestInt16 = SqlTrue.ToSqlInt16();
356 Assert.AreEqual ((short)1, SqlTestInt16.Value, error);
358 SqlTestInt16 = SqlFalse.ToSqlInt16();
359 Assert.AreEqual ((short)0, SqlTestInt16.Value, error);
363 // ToSqlInt32
364 [Test]
365 public void ToSqlInt32() {
367 SqlInt32 SqlTestInt32;
369 String error = "ToSqlInt32 method does not work correctly ";
370 SqlTestInt32 = SqlTrue.ToSqlInt32();
371 Assert.AreEqual ((int)1, SqlTestInt32.Value, error);
373 SqlTestInt32 = SqlFalse.ToSqlInt32();
374 Assert.AreEqual ((int)0, SqlTestInt32.Value, error);
378 // ToSqlInt64
379 [Test]
380 public void ToSqlInt64() {
382 SqlInt64 SqlTestInt64;
384 String error = "ToSqlInt64 method does not work correctly ";
386 SqlTestInt64 = SqlTrue.ToSqlInt64();
387 Assert.AreEqual ((long)1, SqlTestInt64.Value, error);
389 SqlTestInt64 = SqlFalse.ToSqlInt64();
390 Assert.AreEqual ((long)0, SqlTestInt64.Value, error);
394 // ToSqlMoney
395 [Test]
396 public void ToSqlMoney() {
398 SqlMoney SqlTestMoney;
400 String error = "ToSqlMoney method does not work correctly ";
401 SqlTestMoney = SqlTrue.ToSqlMoney();
402 Assert.AreEqual (1.0000M, SqlTestMoney.Value, error);
404 SqlTestMoney = SqlFalse.ToSqlMoney();
405 Assert.AreEqual ((decimal)0, SqlTestMoney.Value, error);
409 // ToSqlSingle
410 [Test]
411 public void ToSqlsingle() {
413 SqlSingle SqlTestSingle;
415 String error = "ToSqlSingle method does not work correctly ";
416 SqlTestSingle = SqlTrue.ToSqlSingle();
417 Assert.AreEqual ((float)1, SqlTestSingle.Value, error);
419 SqlTestSingle = SqlFalse.ToSqlSingle();
420 Assert.AreEqual ( (float) 0, SqlTestSingle.Value, error);
424 // ToSqlString
425 [Test]
426 public void ToSqlString() {
428 SqlString SqlTestString;
430 String error = "ToSqlString method does not work correctly ";
431 SqlTestString = SqlTrue.ToSqlString();
432 Assert.AreEqual ("True", SqlTestString.Value, error);
434 SqlTestString = SqlFalse.ToSqlString();
435 Assert.AreEqual ("False", SqlTestString.Value, error);
439 // ToString
440 [Test]
441 public void ToStringTest() {
443 SqlString TestString;
445 String error = "ToString method does not work correctly ";
447 TestString = SqlTrue.ToString();
448 Assert.AreEqual ("True", TestString.Value, error);
450 TestString = SqlFalse.ToSqlString();
451 Assert.AreEqual ("False", TestString.Value, error);
455 // END OF PUBLIC METHODS
456 ////
458 ////
459 // OPERATORS
461 // BitwixeAnd operator
462 [Test]
463 public void BitwiseAndOperator() {
465 SqlBoolean SqlTrue2 = new SqlBoolean(true);
466 SqlBoolean SqlFalse2 = new SqlBoolean(false);
468 SqlBoolean SqlResult;
469 String error = "BitwiseAnd operator does not work correctly ";
471 SqlResult = SqlTrue & SqlFalse;
472 Assert.IsTrue (!SqlResult.Value, error + "(true & false)");
473 SqlResult = SqlFalse & SqlTrue;
474 Assert.IsTrue (!SqlResult.Value, error + "(false & true)");
476 SqlResult = SqlTrue & SqlTrue2;
477 Assert.IsTrue (SqlResult.Value, error + "(true & true)");
479 SqlResult = SqlFalse & SqlFalse2;
480 Assert.IsTrue (!SqlResult.Value, error + "(false & false)");
485 // BitwixeOr operator
486 [Test]
487 public void BitwiseOrOperator() {
489 SqlBoolean SqlTrue2 = new SqlBoolean(true);
490 SqlBoolean SqlFalse2 = new SqlBoolean(false);
492 SqlBoolean SqlResult;
493 String error = "BitwiseOr operator does not work correctly ";
495 SqlResult = SqlTrue | SqlFalse;
496 Assert.IsTrue (SqlResult.Value, error + "(true | false)");
497 SqlResult = SqlFalse | SqlTrue;
499 Assert.IsTrue (SqlResult.Value, error + "(false | true)");
501 SqlResult = SqlTrue | SqlTrue2;
502 Assert.IsTrue (SqlResult.Value, error + "(true | true)");
504 SqlResult = SqlFalse | SqlFalse2;
505 Assert.IsTrue (!SqlResult.Value, error + "(false | false)");
509 // Equality operator
510 [Test]
511 public void EqualityOperator() {
513 SqlBoolean SqlTrue2 = new SqlBoolean(true);
514 SqlBoolean SqlFalse2 = new SqlBoolean(false);
516 SqlBoolean SqlResult;
517 String error = "Equality operator does not work correctly ";
519 SqlResult = SqlTrue == SqlFalse;
520 Assert.IsTrue (!SqlResult.Value, error + "(true == false)");
521 SqlResult = SqlFalse == SqlTrue;
522 Assert.IsTrue (!SqlResult.Value, error + "(false == true)");
524 SqlResult = SqlTrue == SqlTrue2;
525 Assert.IsTrue (SqlResult.Value, error + "(true == true)");
527 SqlResult = SqlFalse == SqlFalse2;
528 Assert.IsTrue (SqlResult.Value, error + "(false == false)");
530 SqlResult = SqlFalse == SqlBoolean.Null;
531 Assert.IsTrue (SqlResult.IsNull, error + "(false == Null)");
532 //SqlResult = SqlBoolean.Null == SqlBoolean.Null;
533 Assert.IsTrue (SqlResult.IsNull, error + "(Null == true)");
537 // ExlusiveOr operator
538 [Test]
539 public void ExlusiveOrOperator() {
541 SqlBoolean SqlTrue2 = new SqlBoolean(true);
542 SqlBoolean SqlFalse2 = new SqlBoolean(false);
544 SqlBoolean SqlResult;
545 String error = "ExclusiveOr operator does not work correctly ";
547 SqlResult = SqlTrue ^ SqlFalse;
548 Assert.IsTrue (SqlResult.Value, error + "(true ^ false)");
549 SqlResult = SqlFalse | SqlTrue;
550 Assert.IsTrue (SqlResult.Value, error + "(false ^ true)");
552 SqlResult = SqlTrue ^ SqlTrue2;
553 Assert.IsTrue (!SqlResult.Value, error + "(true ^ true)");
555 SqlResult = SqlFalse ^ SqlFalse2;
556 Assert.IsTrue (!SqlResult.Value, error + "(false ^ false)");
560 // false operator
561 [Test]
562 public void FalseOperator() {
564 String error = "false operator does not work correctly ";
566 Assert.AreEqual (SqlBoolean.False, (!SqlTrue), error + "(true)");
567 Assert.AreEqual (SqlBoolean.True, (!SqlFalse), error + "(false)");
571 // Inequality operator
572 [Test]
573 public void InequalityOperator() {
575 SqlBoolean SqlTrue2 = new SqlBoolean(true);
576 SqlBoolean SqlFalse2 = new SqlBoolean(false);
578 String error = "Inequality operator does not work correctly" ;
580 Assert.AreEqual (SqlBoolean.False, SqlTrue != true, error + "(true != true)");
581 Assert.AreEqual (SqlBoolean.False, SqlTrue != SqlTrue2, error + "(true != true)");
582 Assert.AreEqual (SqlBoolean.False, SqlFalse != false, error + "(false != false)");
583 Assert.AreEqual (SqlBoolean.False, SqlFalse != SqlFalse2, error + "(false != false)");
584 Assert.AreEqual (SqlBoolean.True, SqlTrue != SqlFalse, error + "(true != false)");
585 Assert.AreEqual (SqlBoolean.True, SqlFalse != SqlTrue, error + "(false != true)");
586 Assert.AreEqual (SqlBoolean.Null, SqlBoolean.Null != SqlTrue, error + "(null != true)");
587 Assert.AreEqual (SqlBoolean.Null, SqlFalse != SqlBoolean.Null, error + "(false != null)");
591 // Logical Not operator
592 [Test]
593 public void LogicalNotOperator() {
595 String error = "Logical Not operator does not work correctly" ;
597 Assert.AreEqual (SqlBoolean.False, !SqlTrue, error + "(true)");
598 Assert.AreEqual (SqlBoolean.True, !SqlFalse, error + "(false)");
602 // OnesComplement operator
603 [Test]
604 public void OnesComplementOperator() {
606 String error = "Ones complement operator does not work correctly" ;
608 SqlBoolean SqlResult;
610 SqlResult = ~SqlTrue;
611 Assert.IsTrue (!SqlResult.Value, error + "(true)");
612 SqlResult = ~SqlFalse;
613 Assert.IsTrue (SqlResult.Value, error + "(false)");
618 // true operator
619 [Test]
620 public void TrueOperator() {
622 String error = "true operator does not work correctly ";
624 Assert.AreEqual (SqlBoolean.True, (SqlTrue), error + "(true)");
625 Assert.AreEqual (SqlBoolean.False, (SqlFalse), error + "(false)");
629 // SqlBoolean to Boolean
630 [Test]
631 public void SqlBooleanToBoolean() {
633 String error = "SqlBooleanToBoolean operator does not work correctly ";
635 Boolean TestBoolean = (Boolean)SqlTrue;
636 Assert.IsTrue ( TestBoolean, error + "(true)");
637 TestBoolean = (Boolean)SqlFalse;
638 Assert.IsTrue ( !TestBoolean, error + "(false)");
642 // SqlByte to SqlBoolean
643 [Test]
644 public void SqlByteToSqlBoolean() {
646 SqlByte SqlTestByte;
647 SqlBoolean SqlTestBoolean;
648 String error = "SqlByteToSqlBoolean operator does not work correctly ";
650 SqlTestByte = new SqlByte(1);
651 SqlTestBoolean = (SqlBoolean)SqlTestByte;
652 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
654 SqlTestByte = new SqlByte(2);
655 SqlTestBoolean = (SqlBoolean)SqlTestByte;
656 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
658 SqlTestByte = new SqlByte(0);
659 SqlTestBoolean = (SqlBoolean)SqlTestByte;
660 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
664 // SqlDecimal to SqlBoolean
665 [Test]
666 public void SqlDecimalToSqlBoolean() {
668 SqlDecimal SqlTest;
669 SqlBoolean SqlTestBoolean;
670 String error = "SqlDecimalToSqlBoolean operator does not work correctly ";
672 SqlTest = new SqlDecimal(1);
673 SqlTestBoolean = (SqlBoolean)SqlTest;
674 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
676 SqlTest = new SqlDecimal(19);
677 SqlTestBoolean = (SqlBoolean)SqlTest;
678 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
680 SqlTest = new SqlDecimal(0);
681 SqlTestBoolean = (SqlBoolean)SqlTest;
682 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
686 // SqlDouble to SqlBoolean
687 [Test]
688 public void SqlDoubleToSqlBoolean() {
690 SqlDouble SqlTest;
691 SqlBoolean SqlTestBoolean;
692 String error = "SqlDoubleToSqlBoolean operator does not work correctly ";
694 SqlTest = new SqlDouble(1);
695 SqlTestBoolean = (SqlBoolean)SqlTest;
696 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
698 SqlTest = new SqlDouble(-19.8);
699 SqlTestBoolean = (SqlBoolean)SqlTest;
700 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
702 SqlTest = new SqlDouble(0);
703 SqlTestBoolean = (SqlBoolean)SqlTest;
704 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
708 // SqlIn16 to SqlBoolean
709 [Test]
710 public void SqlInt16ToSqlBoolean() {
712 SqlInt16 SqlTest;
713 SqlBoolean SqlTestBoolean;
714 String error = "SqlInt16ToSqlBoolean operator does not work correctly ";
716 SqlTest = new SqlInt16(1);
717 SqlTestBoolean = (SqlBoolean)SqlTest;
718 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
720 SqlTest = new SqlInt16(-143);
721 SqlTestBoolean = (SqlBoolean)SqlTest;
722 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
724 SqlTest = new SqlInt16(0);
725 SqlTestBoolean = (SqlBoolean)SqlTest;
726 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
730 // SqlInt32 to SqlBoolean
731 [Test]
732 public void SqlInt32ToSqlBoolean() {
734 SqlInt32 SqlTest;
735 SqlBoolean SqlTestBoolean;
736 String error = "SqlInt32ToSqlBoolean operator does not work correctly ";
738 SqlTest = new SqlInt32(1);
739 SqlTestBoolean = (SqlBoolean)SqlTest;
740 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
742 SqlTest = new SqlInt32(1430);
743 SqlTestBoolean = (SqlBoolean)SqlTest;
744 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
746 SqlTest = new SqlInt32(0);
747 SqlTestBoolean = (SqlBoolean)SqlTest;
748 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
751 // SqlInt64 to SqlBoolean
752 [Test]
753 public void SqlInt64ToSqlBoolean() {
755 SqlInt64 SqlTest;
756 SqlBoolean SqlTestBoolean;
757 String error = "SqlInt64ToSqlBoolean operator does not work correctly ";
759 SqlTest = new SqlInt64(1);
760 SqlTestBoolean = (SqlBoolean)SqlTest;
761 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
763 SqlTest = new SqlInt64(-14305);
764 SqlTestBoolean = (SqlBoolean)SqlTest;
765 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
767 SqlTest = new SqlInt64(0);
768 SqlTestBoolean = (SqlBoolean)SqlTest;
769 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
773 // SqlMoney to SqlBoolean
774 [Test]
775 public void SqlMoneyToSqlBoolean() {
777 SqlMoney SqlTest;
778 SqlBoolean SqlTestBoolean;
779 String error = "SqlMoneyToSqlBoolean operator does not work correctly ";
781 SqlTest = new SqlMoney(1);
782 SqlTestBoolean = (SqlBoolean)SqlTest;
783 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
785 SqlTest = new SqlMoney(1305);
786 SqlTestBoolean = (SqlBoolean)SqlTest;
787 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
789 SqlTest = new SqlMoney(0);
790 SqlTestBoolean = (SqlBoolean)SqlTest;
791 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
795 // SqlSingle to SqlBoolean
796 [Test]
797 public void SqlSingleToSqlBoolean() {
799 SqlSingle SqlTest;
800 SqlBoolean SqlTestBoolean;
801 String error = "SqlSingleToSqlBoolean operator does not work correctly ";
803 SqlTest = new SqlSingle(1);
804 SqlTestBoolean = (SqlBoolean)SqlTest;
805 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
807 SqlTest = new SqlSingle(1305);
808 SqlTestBoolean = (SqlBoolean)SqlTest;
809 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
811 SqlTest = new SqlSingle(-305.3);
812 SqlTestBoolean = (SqlBoolean)SqlTest;
813 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
815 SqlTest = new SqlSingle(0);
816 SqlTestBoolean = (SqlBoolean)SqlTest;
817 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
821 // SqlString to SqlBoolean
822 [Test]
823 public void SqlStringToSqlBoolean() {
825 SqlString SqlTest;
826 SqlBoolean SqlTestBoolean;
827 String error = "SqlSingleToSqlBoolean operator does not work correctly ";
829 SqlTest = new SqlString("true");
830 SqlTestBoolean = (SqlBoolean)SqlTest;
831 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
833 SqlTest = new SqlString("TRUE");
834 SqlTestBoolean = (SqlBoolean)SqlTest;
835 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
837 SqlTest = new SqlString("True");
838 SqlTestBoolean = (SqlBoolean)SqlTest;
839 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
841 SqlTest = new SqlString("false");
842 SqlTestBoolean = (SqlBoolean)SqlTest;
843 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
847 // Boolean to SqlBoolean
848 [Test]
849 public void BooleanToSqlBoolean() {
851 SqlBoolean SqlTestBoolean;
852 bool btrue = true;
853 bool bfalse = false;
854 String error = "BooleanToSqlBoolean operator does not work correctly ";
856 Boolean SqlTest = true;
857 SqlTestBoolean = (SqlBoolean)SqlTest;
858 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
859 SqlTestBoolean = (SqlBoolean)btrue;
860 Assert.IsTrue (SqlTestBoolean.Value, error + "(true)");
863 SqlTest = false;
864 SqlTestBoolean = (SqlBoolean)SqlTest;
865 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
866 SqlTestBoolean = (SqlBoolean)bfalse;
867 Assert.IsTrue (!SqlTestBoolean.Value, error + "(false)");
871 // END OF OPERATORS
872 ////
874 ////
875 // PROPERTIES
877 // ByteValue property
878 [Test]
879 public void ByteValueProperty() {
881 String error = "ByteValue property does not work correctly ";
883 Assert.AreEqual ((byte)1, SqlTrue.ByteValue, error + "(true)");
884 Assert.AreEqual ((byte)0, SqlFalse.ByteValue, error + "(false)");
888 // IsFalse property
889 [Test]
890 public void IsFalseProperty() {
892 String error = "IsFalse property does not work correctly ";
894 Assert.IsTrue (!SqlTrue.IsFalse, error + "(true)");
895 Assert.IsTrue (SqlFalse.IsFalse, error + "(false)");
899 // IsNull property
900 [Test]
901 public void IsNullProperty() {
903 String error = "IsNull property does not work correctly ";
905 Assert.IsTrue (!SqlTrue.IsNull, error + "(true)");
906 Assert.IsTrue (!SqlFalse.IsNull, error + "(false)");
907 Assert.IsTrue (SqlBoolean.Null.IsNull, error + "(Null)");
911 // IsTrue property
912 [Test]
913 public void IsTrueProperty() {
915 String error = "IsTrue property does not work correctly ";
917 Assert.IsTrue (SqlTrue.IsTrue, error + "(true)");
918 Assert.IsTrue (!SqlFalse.IsTrue, error + "(false)");
922 // Value property
923 [Test]
924 public void ValueProperty() {
926 String error = "Value property does not work correctly ";
928 Assert.IsTrue (SqlTrue.Value, error + "(true)");
929 Assert.IsTrue (!SqlFalse.Value, error + "(false)");
933 // END OF PROPERTIEs
934 ////
936 ////
937 // FIELDS
939 [Test]
940 public void FalseField() {
942 Assert.IsTrue (!SqlBoolean.False.Value, "False field does not work correctly");
946 [Test]
947 public void NullField() {
949 Assert.IsTrue (SqlBoolean.Null.IsNull, "Null field does not work correctly");
953 [Test]
954 public void OneField() {
956 Assert.AreEqual ((byte)1, SqlBoolean.One.ByteValue, "One field does not work correctly");
959 [Test]
960 public void TrueField() {
962 Assert.IsTrue (SqlBoolean.True.Value, "True field does not work correctly");
966 [Test]
967 public void ZeroField() {
969 Assert.AreEqual ((byte)0, SqlBoolean.Zero.ByteValue, "Zero field does not work correctly");
972 [Test]
973 public void GetXsdTypeTest ()
975 XmlQualifiedName qualifiedName = SqlBoolean.GetXsdType (null);
976 NUnit.Framework.Assert.AreEqual ("boolean", qualifiedName.Name, "#A01");
979 [Test]
980 public void GreaterThanTest ()
982 SqlBoolean x = new SqlBoolean (-1);
983 SqlBoolean y = new SqlBoolean (true);
984 SqlBoolean z = new SqlBoolean ();
985 SqlBoolean z1 = new SqlBoolean (0);
987 NUnit.Framework.Assert.IsFalse ((x > y).Value, "#A01");
988 NUnit.Framework.Assert.AreEqual (x > z, SqlBoolean.Null, "#A02");
989 NUnit.Framework.Assert.IsTrue ((x > z1).Value, "#A03");
990 NUnit.Framework.Assert.AreEqual (y > z, SqlBoolean.Null, "#A04");
991 NUnit.Framework.Assert.IsFalse ((y > x).Value, "#A05");
992 NUnit.Framework.Assert.IsTrue ((y > z1).Value, "#A06");
993 NUnit.Framework.Assert.AreEqual (z > z1, SqlBoolean.Null, "#A07");
994 NUnit.Framework.Assert.AreEqual (z > x, SqlBoolean.Null, "#A08");
995 NUnit.Framework.Assert.AreEqual (z > y, SqlBoolean.Null, "#A09");
996 NUnit.Framework.Assert.AreEqual (z1 > z, SqlBoolean.Null, "#A10");
997 NUnit.Framework.Assert.IsFalse ((z1 > x).Value, "#A11");
998 NUnit.Framework.Assert.IsFalse ((z1 > y).Value, "#A12");
1001 [Test]
1002 public void GreaterThanOrEqualTest ()
1004 SqlBoolean x = new SqlBoolean (-1);
1005 SqlBoolean y = new SqlBoolean (true);
1006 SqlBoolean z = new SqlBoolean ();
1007 SqlBoolean z1 = new SqlBoolean (0);
1009 NUnit.Framework.Assert.IsTrue ((x >= y).Value, "#A01");
1010 NUnit.Framework.Assert.AreEqual (x >= z, SqlBoolean.Null, "#A02");
1011 NUnit.Framework.Assert.IsTrue ((x >= z1).Value, "#A03");
1012 NUnit.Framework.Assert.AreEqual (y >= z, SqlBoolean.Null, "#A04");
1013 NUnit.Framework.Assert.IsTrue ((y >= x).Value, "#A05");
1014 NUnit.Framework.Assert.IsTrue ((y >= z1).Value, "#A06");
1015 NUnit.Framework.Assert.AreEqual (z >= z1, SqlBoolean.Null, "#A07");
1016 NUnit.Framework.Assert.AreEqual (z >= x, SqlBoolean.Null, "#A08");
1017 NUnit.Framework.Assert.AreEqual (z >= y, SqlBoolean.Null, "#A09");
1018 NUnit.Framework.Assert.AreEqual (z1 >= z, SqlBoolean.Null, "#A10");
1019 NUnit.Framework.Assert.IsFalse ((z1 >= x).Value, "#A11");
1020 NUnit.Framework.Assert.IsFalse ((z1 >= y).Value, "#A12");
1023 [Test]
1024 public void LessThanTest ()
1026 SqlBoolean x = new SqlBoolean (-1);
1027 SqlBoolean y = new SqlBoolean (true);
1028 SqlBoolean z = new SqlBoolean ();
1029 SqlBoolean z1 = new SqlBoolean (0);
1031 NUnit.Framework.Assert.IsFalse ((x < y).Value, "#A01");
1032 NUnit.Framework.Assert.AreEqual (x < z, SqlBoolean.Null, "#A02");
1033 NUnit.Framework.Assert.IsFalse ((x < z1).Value, "#A03");
1034 NUnit.Framework.Assert.AreEqual (y < z, SqlBoolean.Null, "#A04");
1035 NUnit.Framework.Assert.IsFalse ((y < x).Value, "#A05");
1036 NUnit.Framework.Assert.IsFalse ((y < z1).Value, "#A06");
1037 NUnit.Framework.Assert.AreEqual (z < z1, SqlBoolean.Null, "#A07");
1038 NUnit.Framework.Assert.AreEqual (z < x, SqlBoolean.Null, "#A08");
1039 NUnit.Framework.Assert.AreEqual (z < y, SqlBoolean.Null, "#A09");
1040 NUnit.Framework.Assert.AreEqual (z1 < z, SqlBoolean.Null, "#A10");
1041 NUnit.Framework.Assert.IsTrue ((z1 < x).Value, "#A11");
1042 NUnit.Framework.Assert.IsTrue ((z1 < y).Value, "#A12");
1045 [Test]
1046 public void LessThanOrEqualTest ()
1048 SqlBoolean x = new SqlBoolean (-1);
1049 SqlBoolean y = new SqlBoolean (true);
1050 SqlBoolean z = new SqlBoolean ();
1051 SqlBoolean z1 = new SqlBoolean (0);
1053 NUnit.Framework.Assert.IsTrue ((x <= y).Value, "#A01");
1054 NUnit.Framework.Assert.AreEqual (x <= z, SqlBoolean.Null, "#A02");
1055 NUnit.Framework.Assert.IsFalse ((x <= z1).Value, "#A03");
1056 NUnit.Framework.Assert.AreEqual (y <= z, SqlBoolean.Null, "#A04");
1057 NUnit.Framework.Assert.IsTrue ((y <= x).Value, "#A05");
1058 NUnit.Framework.Assert.IsFalse ((y <= z1).Value, "#A06");
1059 NUnit.Framework.Assert.AreEqual (z <= z1, SqlBoolean.Null, "#A07");
1060 NUnit.Framework.Assert.AreEqual (z <= x, SqlBoolean.Null, "#A08");
1061 NUnit.Framework.Assert.AreEqual (z <= y, SqlBoolean.Null, "#A09");
1062 NUnit.Framework.Assert.AreEqual (z1 <= z, SqlBoolean.Null, "#A10");
1063 NUnit.Framework.Assert.IsTrue ((z1 <= x).Value, "#A11");
1064 NUnit.Framework.Assert.IsTrue ((z1 <= y).Value, "#A12");