**** Merged from MCS ****
[mono-project.git] / mcs / class / System.Data / Test / System.Data.SqlTypes / SqlBooleanTest.cs
blob6b22a8cbd14103eb1ee6b85c6ea8388e31b3dd08
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.Data.SqlTypes;
36 using System.Threading;
37 using System.Globalization;
39 namespace MonoTests.System.Data.SqlTypes
42 [TestFixture]
43 public class SqlBooleanTest : Assertion {
44 private SqlBoolean SqlTrue;
45 private SqlBoolean SqlFalse;
47 [SetUp]
48 public void GetReady() {
50 Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
51 SqlTrue = new SqlBoolean(true);
52 SqlFalse = new SqlBoolean(false);
56 [Test]
57 public void Create ()
59 SqlBoolean SqlTrue2 = new SqlBoolean(1);
60 SqlBoolean SqlFalse2 = new SqlBoolean(0);
62 Assert("Creation of SqlBoolean failed", SqlTrue.Value);
63 Assert("Creation of SqlBoolean failed", SqlTrue2.Value);
64 Assert("Creation of SqlBoolean failed", !SqlFalse.Value);
65 Assert("Creation of SqlBoolean failed", !SqlFalse2.Value);
69 ////
70 // PUBLIC STATIC METHODS
73 // And
74 [Test]
75 public void And() {
77 SqlBoolean SqlTrue2 = new SqlBoolean(true);
78 SqlBoolean SqlFalse2 = new SqlBoolean(false);
80 // One result value
81 SqlBoolean sqlResult;
83 // true && false
84 sqlResult = SqlBoolean.And(SqlTrue, SqlFalse);
85 Assert("And method does not work correctly (true && false)", !sqlResult.Value);
86 sqlResult = SqlBoolean.And(SqlFalse, SqlTrue);
87 Assert("And method does not work correctly (false && true)", !sqlResult.Value);
89 // true && true
90 sqlResult = SqlBoolean.And(SqlTrue, SqlTrue2);
91 Assert("And method does not work correctly (true && true)", sqlResult.Value);
93 sqlResult = SqlBoolean.And(SqlTrue, SqlTrue);
94 Assert("And method does not work correctly (true && true2)", sqlResult.Value);
96 // false && false
97 sqlResult = SqlBoolean.And(SqlFalse, SqlFalse2);
98 Assert("And method does not work correctly (false && false)", !sqlResult.Value);
99 sqlResult = SqlBoolean.And(SqlFalse, SqlFalse);
100 Assert("And method does not work correctly (false && false2)", !sqlResult.Value);
104 // NotEquals
105 [Test]
106 public void NotEquals() {
108 SqlBoolean SqlTrue2 = new SqlBoolean(true);
109 SqlBoolean SqlFalse2 = new SqlBoolean(false);
111 SqlBoolean SqlResult;
113 // true != false
114 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlFalse);
115 Assert("NotEquals method does not work correctly (true != false)", SqlResult.Value);
116 SqlResult = SqlBoolean.NotEquals(SqlFalse, SqlTrue);
117 Assert("NotEquals method does not work correctly (false != true)", SqlResult.Value);
120 // true != true
121 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlTrue);
122 Assert("NotEquals method does not work correctly (true != true)", !SqlResult.Value);
123 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlTrue2);
124 Assert("NotEquals method does not work correctly (true != true2)", !SqlResult.Value);
125 // false != false
126 SqlResult = SqlBoolean.NotEquals(SqlFalse, SqlFalse);
127 Assert("NotEquals method does not work correctly (false != false)", !SqlResult.Value);
128 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlTrue2);
129 Assert("NotEquals method does not work correctly (false != false2)", !SqlResult.Value);
131 // If either instance of SqlBoolean is null, the Value of the SqlBoolean will be Null.
132 SqlResult = SqlBoolean.NotEquals(SqlBoolean.Null, SqlFalse);
133 Assert("NotEquals method does not work correctly (Null != false)", SqlResult.IsNull);
134 SqlResult = SqlBoolean.NotEquals(SqlTrue, SqlBoolean.Null);
135 Assert("NotEquals method does not work correctly (false != Null)", SqlResult.IsNull);
139 // OnesComplement
140 [Test]
141 public void OnesComplement() {
143 SqlBoolean SqlFalse2 = SqlBoolean.OnesComplement(SqlTrue);
144 Assert("OnesComplement method does not work correctly", !SqlFalse2.Value);
146 SqlBoolean SqlTrue2 = SqlBoolean.OnesComplement(SqlFalse);
147 Assert("OnesComplement method does not work correctly", SqlTrue2.Value);
151 // Or
152 [Test]
153 public void Or() {
155 SqlBoolean SqlTrue2 = new SqlBoolean(true);
156 SqlBoolean SqlFalse2 = new SqlBoolean(false);
158 SqlBoolean SqlResult;
160 // true || false
161 SqlResult = SqlBoolean.Or(SqlTrue, SqlFalse);
162 Assert("Or method does not work correctly (true || false)", SqlResult.Value);
163 SqlResult = SqlBoolean.Or(SqlFalse, SqlTrue);
164 Assert("Or method does not work correctly (false || true)", SqlResult.Value);
166 // true || true
167 SqlResult = SqlBoolean.Or(SqlTrue, SqlTrue);
168 Assert("Or method does not work correctly (true || true)", SqlResult.Value);
169 SqlResult = SqlBoolean.Or(SqlTrue, SqlTrue2);
170 Assert("Or method does not work correctly (true || true2)", SqlResult.Value);
172 // false || false
173 SqlResult = SqlBoolean.Or(SqlFalse, SqlFalse);
174 Assert("Or method does not work correctly (false || false)", !SqlResult.Value);
175 SqlResult = SqlBoolean.Or(SqlFalse, SqlFalse2);
176 Assert("Or method does not work correctly (false || false2)", !SqlResult.Value);
181 // Parse
182 [Test]
183 public void Parse() {
185 String error = "Parse method does not work correctly ";
187 Assert(error + "(\"True\")", SqlBoolean.Parse("True").Value);
188 Assert(error + "(\" True\")", SqlBoolean.Parse(" True").Value);
189 Assert(error + "(\"True \")", SqlBoolean.Parse("True ").Value);
190 Assert(error + "(\"tRue\")", SqlBoolean.Parse("tRuE").Value);
191 Assert(error + "(\"False\")", !SqlBoolean.Parse("False").Value);
192 Assert(error + "(\" False\")", !SqlBoolean.Parse(" False").Value);
193 Assert(error + "(\"False \")", !SqlBoolean.Parse("False ").Value);
194 Assert(error + "(\"fAlSe\")", !SqlBoolean.Parse("fAlSe").Value);
198 // Xor
199 [Test]
200 public void Xor() {
202 SqlBoolean SqlTrue2 = new SqlBoolean(true);
203 SqlBoolean SqlFalse2 = new SqlBoolean(false);
205 SqlBoolean SqlResult;
207 // true ^ false
208 SqlResult = SqlBoolean.Xor(SqlTrue, SqlFalse);
209 Assert("Xor method does not work correctly (true ^ false)", SqlResult.Value);
210 SqlResult = SqlBoolean.Xor(SqlFalse, SqlTrue);
211 Assert("Xor method does not work correctly (false ^ true)", SqlResult.Value);
213 // true ^ true
214 SqlResult = SqlBoolean.Xor(SqlTrue, SqlTrue2);
215 Assert("Xor method does not work correctly (true ^ true)", !SqlResult.Value);
217 // false ^ false
218 SqlResult = SqlBoolean.Xor(SqlFalse, SqlFalse2);
219 Assert("Xor method does not work correctly (false ^ false)", !SqlResult.Value);
223 // static Equals
224 [Test]
225 public void StaticEquals() {
227 SqlBoolean SqlTrue2 = new SqlBoolean(true);
228 SqlBoolean SqlFalse2 = new SqlBoolean(false);
229 String error = "Static Equals method does not work correctly ";
231 Assert(error + "(true == true)", SqlBoolean.Equals(SqlTrue, SqlTrue2).Value);
232 Assert(error + "(false == false)", SqlBoolean.Equals(SqlFalse, SqlFalse2).Value);
234 Assert(error + "(true == false)", !SqlBoolean.Equals(SqlTrue, SqlFalse).Value);
235 Assert(error + "(false == true)", !SqlBoolean.Equals(SqlFalse, SqlTrue).Value);
237 AssertEquals(error + "(null == false)", SqlBoolean.Null, SqlBoolean.Equals(SqlBoolean.Null, SqlFalse));
238 AssertEquals(error + "(true == null)", SqlBoolean.Null, SqlBoolean.Equals(SqlTrue, SqlBoolean.Null));
243 // END OF STATIC METHODS
244 ////
246 ////
247 // PUBLIC METHODS
250 // CompareTo
251 [Test]
252 public void CompareTo() {
254 String error = "CompareTo method does not work correctly";
256 Assert(error, (SqlTrue.CompareTo(SqlBoolean.Null) > 0));
257 Assert(error, (SqlTrue.CompareTo(SqlFalse) > 0));
258 Assert(error, (SqlFalse.CompareTo(SqlTrue) < 0));
259 Assert(error, (SqlFalse.CompareTo(SqlFalse) == 0));
263 // Equals
264 [Test]
265 public void Equals() {
267 SqlBoolean SqlTrue2 = new SqlBoolean(true);
268 SqlBoolean SqlFalse2 = new SqlBoolean(false);
270 String error = "Equals method does not work correctly ";
272 Assert(error + "(true == true)", SqlTrue.Equals(SqlTrue2));
273 Assert(error + "(false == false)", SqlFalse.Equals(SqlFalse2));
275 Assert(error + "(true == false)", !SqlTrue.Equals(SqlFalse));
276 Assert(error + "(false == true)", !SqlFalse.Equals(SqlTrue));
278 Assert(error + "(true == false)", !SqlTrue.Equals(null));
282 [Test]
283 public void GetHashCodeTest() {
285 AssertEquals("GetHashCode method does not work correctly",
286 1, SqlTrue.GetHashCode());
288 AssertEquals("GetHashCode method does not work correctly",
289 0, SqlFalse.GetHashCode());
293 // GetType
294 [Test]
295 public void GetTypeTest() {
297 AssertEquals("GetType method does not work correctly",
298 SqlTrue.GetType().ToString(), "System.Data.SqlTypes.SqlBoolean");
301 // ToSqlByte
302 [Test]
303 public void ToSqlByte() {
305 SqlByte SqlTestByte;
307 String error = "ToSqlByte method does not work correctly ";
309 SqlTestByte = SqlTrue.ToSqlByte();
310 AssertEquals(error, (byte)1,SqlTestByte.Value);
312 SqlTestByte = SqlFalse.ToSqlByte();
313 AssertEquals(error, (byte)0, SqlTestByte.Value);
317 // ToSqlDecimal
318 [Test]
319 public void ToSqlDecimal() {
321 SqlDecimal SqlTestDecimal;
323 String error = "ToSqlDecimal method does not work correctly ";
325 SqlTestDecimal = SqlTrue.ToSqlDecimal();
327 AssertEquals(error, (decimal)1, SqlTestDecimal.Value);
329 SqlTestDecimal = SqlFalse.ToSqlDecimal();
330 AssertEquals(error, (decimal)0, SqlTestDecimal.Value);
333 // ToSqlDouble
334 [Test]
335 public void ToSqlDouble() {
337 SqlDouble SqlTestDouble;
339 String error = "ToSqlDouble method does not work correctly ";
341 SqlTestDouble = SqlTrue.ToSqlDouble();
342 AssertEquals(error, (double)1, SqlTestDouble.Value);
344 SqlTestDouble = SqlFalse.ToSqlDouble();
345 AssertEquals(error, (double)0, SqlTestDouble.Value);
348 // ToSqlInt16
349 [Test]
350 public void ToSqlInt16() {
352 SqlInt16 SqlTestInt16;
354 String error = "ToSqlInt16 method does not work correctly ";
356 SqlTestInt16 = SqlTrue.ToSqlInt16();
357 AssertEquals(error, (short)1, SqlTestInt16.Value);
359 SqlTestInt16 = SqlFalse.ToSqlInt16();
360 AssertEquals(error, (short)0, SqlTestInt16.Value);
364 // ToSqlInt32
365 [Test]
366 public void ToSqlInt32() {
368 SqlInt32 SqlTestInt32;
370 String error = "ToSqlInt32 method does not work correctly ";
372 SqlTestInt32 = SqlTrue.ToSqlInt32();
373 AssertEquals(error, (int)1, SqlTestInt32.Value);
375 SqlTestInt32 = SqlFalse.ToSqlInt32();
376 AssertEquals(error, (int)0, SqlTestInt32.Value);
380 // ToSqlInt64
381 [Test]
382 public void ToSqlInt64() {
384 SqlInt64 SqlTestInt64;
386 String error = "ToSqlInt64 method does not work correctly ";
388 SqlTestInt64 = SqlTrue.ToSqlInt64();
389 AssertEquals(error, (long)1, SqlTestInt64.Value);
391 SqlTestInt64 = SqlFalse.ToSqlInt64();
392 AssertEquals(error, (long)0, SqlTestInt64.Value);
396 // ToSqlMoney
397 [Test]
398 public void ToSqlMoney() {
400 SqlMoney SqlTestMoney;
402 String error = "ToSqlMoney method does not work correctly ";
404 SqlTestMoney = SqlTrue.ToSqlMoney();
405 AssertEquals(error, 1.0000M, SqlTestMoney.Value);
407 SqlTestMoney = SqlFalse.ToSqlMoney();
408 AssertEquals(error, (decimal)0, SqlTestMoney.Value);
412 // ToSqlSingle
413 [Test]
414 public void ToSqlsingle() {
416 SqlSingle SqlTestSingle;
418 String error = "ToSqlSingle method does not work correctly ";
420 SqlTestSingle = SqlTrue.ToSqlSingle();
421 AssertEquals(error, (float)1, SqlTestSingle.Value);
423 SqlTestSingle = SqlFalse.ToSqlSingle();
424 AssertEquals(error, (float)0, SqlTestSingle.Value);
428 // ToSqlString
429 [Test]
430 public void ToSqlString() {
432 SqlString SqlTestString;
434 String error = "ToSqlString method does not work correctly ";
436 SqlTestString = SqlTrue.ToSqlString();
437 AssertEquals(error, "True", SqlTestString.Value);
439 SqlTestString = SqlFalse.ToSqlString();
440 AssertEquals(error, "False", SqlTestString.Value);
444 // ToString
445 [Test]
446 public void ToStringTest() {
448 SqlString TestString;
450 String error = "ToString method does not work correctly ";
452 TestString = SqlTrue.ToString();
453 AssertEquals(error, "True", TestString.Value);
455 TestString = SqlFalse.ToSqlString();
456 AssertEquals(error, "False", TestString.Value);
460 // END OF PUBLIC METHODS
461 ////
463 ////
464 // OPERATORS
466 // BitwixeAnd operator
467 [Test]
468 public void BitwiseAndOperator() {
470 SqlBoolean SqlTrue2 = new SqlBoolean(true);
471 SqlBoolean SqlFalse2 = new SqlBoolean(false);
473 SqlBoolean SqlResult;
474 String error = "BitwiseAnd operator does not work correctly ";
476 SqlResult = SqlTrue & SqlFalse;
477 Assert(error + "(true & false)", !SqlResult.Value);
478 SqlResult = SqlFalse & SqlTrue;
479 Assert(error + "(false & true)", !SqlResult.Value);
481 SqlResult = SqlTrue & SqlTrue2;
482 Assert(error + "(true & true)", SqlResult.Value);
484 SqlResult = SqlFalse & SqlFalse2;
485 Assert(error + "(false & false)", !SqlResult.Value);
490 // BitwixeOr operator
491 [Test]
492 public void BitwiseOrOperator() {
494 SqlBoolean SqlTrue2 = new SqlBoolean(true);
495 SqlBoolean SqlFalse2 = new SqlBoolean(false);
497 SqlBoolean SqlResult;
498 String error = "BitwiseOr operator does not work correctly ";
500 SqlResult = SqlTrue | SqlFalse;
501 Assert(error + "(true | false)", SqlResult.Value);
502 SqlResult = SqlFalse | SqlTrue;
504 Assert(error + "(false | true)", SqlResult.Value);
506 SqlResult = SqlTrue | SqlTrue2;
507 Assert(error + "(true | true)", SqlResult.Value);
509 SqlResult = SqlFalse | SqlFalse2;
510 Assert(error + "(false | false)", !SqlResult.Value);
514 // Equality operator
515 [Test]
516 public void EqualityOperator() {
518 SqlBoolean SqlTrue2 = new SqlBoolean(true);
519 SqlBoolean SqlFalse2 = new SqlBoolean(false);
521 SqlBoolean SqlResult;
522 String error = "Equality operator does not work correctly ";
524 SqlResult = SqlTrue == SqlFalse;
525 Assert(error + "(true == false)", !SqlResult.Value);
526 SqlResult = SqlFalse == SqlTrue;
527 Assert(error + "(false == true)", !SqlResult.Value);
529 SqlResult = SqlTrue == SqlTrue2;
530 Assert(error + "(true == true)", SqlResult.Value);
532 SqlResult = SqlFalse == SqlFalse2;
533 Assert(error + "(false == false)", SqlResult.Value);
535 SqlResult = SqlFalse == SqlBoolean.Null;
536 Assert(error + "(false == Null)", SqlResult.IsNull);
537 SqlResult = SqlBoolean.Null == SqlBoolean.Null;
538 Assert(error + "(Null == true)", SqlResult.IsNull);
542 // ExlusiveOr operator
543 [Test]
544 public void ExlusiveOrOperator() {
546 SqlBoolean SqlTrue2 = new SqlBoolean(true);
547 SqlBoolean SqlFalse2 = new SqlBoolean(false);
549 SqlBoolean SqlResult;
550 String error = "ExclusiveOr operator does not work correctly ";
552 SqlResult = SqlTrue ^ SqlFalse;
553 Assert(error + "(true ^ false)", SqlResult.Value);
554 SqlResult = SqlFalse | SqlTrue;
555 Assert(error + "(false ^ true)", SqlResult.Value);
557 SqlResult = SqlTrue ^ SqlTrue2;
558 Assert(error + "(true ^ true)", !SqlResult.Value);
560 SqlResult = SqlFalse ^ SqlFalse2;
561 Assert(error + "(false ^ false)", !SqlResult.Value);
565 // false operator
566 [Test]
567 public void FalseOperator() {
569 String error = "false operator does not work correctly ";
571 AssertEquals(error + "(true)", SqlBoolean.False, (!SqlTrue));
572 AssertEquals(error + "(false)", SqlBoolean.True, (!SqlFalse));
576 // Inequality operator
577 [Test]
578 public void InequalityOperator() {
580 SqlBoolean SqlTrue2 = new SqlBoolean(true);
581 SqlBoolean SqlFalse2 = new SqlBoolean(false);
583 String error = "Inequality operator does not work correctly" ;
585 AssertEquals(error + "(true != true)", SqlBoolean.False, SqlTrue != SqlTrue);
586 AssertEquals(error + "(true != true)", SqlBoolean.False, SqlTrue != SqlTrue2);
587 AssertEquals(error + "(false != false)", SqlBoolean.False, SqlFalse != SqlFalse);
588 AssertEquals(error + "(false != false)", SqlBoolean.False, SqlFalse != SqlFalse2);
589 AssertEquals(error + "(true != false)", SqlBoolean.True, SqlTrue != SqlFalse);
590 AssertEquals(error + "(false != true)", SqlBoolean.True, SqlFalse != SqlTrue);
591 AssertEquals(error + "(null != true)", SqlBoolean.Null, SqlBoolean.Null != SqlTrue);
592 AssertEquals(error + "(false != null)", SqlBoolean.Null, SqlFalse != SqlBoolean.Null);
596 // Logical Not operator
597 [Test]
598 public void LogicalNotOperator() {
600 String error = "Logical Not operator does not work correctly" ;
602 AssertEquals(error + "(true)", SqlBoolean.False, !SqlTrue);
603 AssertEquals(error + "(false)", SqlBoolean.True, !SqlFalse);
607 // OnesComplement operator
608 [Test]
609 public void OnesComplementOperator() {
611 String error = "Ones complement operator does not work correctly" ;
613 SqlBoolean SqlResult;
615 SqlResult = ~SqlTrue;
616 Assert(error + "(true)", !SqlResult.Value);
617 SqlResult = ~SqlFalse;
618 Assert(error + "(false)", SqlResult.Value);
623 // true operator
624 [Test]
625 public void TrueOperator() {
627 String error = "true operator does not work correctly ";
629 AssertEquals(error + "(true)", SqlBoolean.True, (SqlTrue));
630 AssertEquals(error + "(false)", SqlBoolean.False, (SqlFalse));
634 // SqlBoolean to Boolean
635 [Test]
636 public void SqlBooleanToBoolean() {
638 String error = "SqlBooleanToBoolean operator does not work correctly ";
640 Boolean TestBoolean = (Boolean)SqlTrue;
641 Assert(error + "(true)", TestBoolean);
642 TestBoolean = (Boolean)SqlFalse;
643 Assert(error + "(false)", !TestBoolean);
647 // SqlByte to SqlBoolean
648 [Test]
649 public void SqlByteToSqlBoolean() {
651 SqlByte SqlTestByte;
652 SqlBoolean SqlTestBoolean;
653 String error = "SqlByteToSqlBoolean operator does not work correctly ";
655 SqlTestByte = new SqlByte(1);
656 SqlTestBoolean = (SqlBoolean)SqlTestByte;
657 Assert(error + "(true)", SqlTestBoolean.Value);
659 SqlTestByte = new SqlByte(2);
660 SqlTestBoolean = (SqlBoolean)SqlTestByte;
661 Assert(error + "(true)", SqlTestBoolean.Value);
663 SqlTestByte = new SqlByte(0);
664 SqlTestBoolean = (SqlBoolean)SqlTestByte;
665 Assert(error + "(false)", !SqlTestBoolean.Value);
669 // SqlDecimal to SqlBoolean
670 [Test]
671 public void SqlDecimalToSqlBoolean() {
673 SqlDecimal SqlTest;
674 SqlBoolean SqlTestBoolean;
675 String error = "SqlDecimalToSqlBoolean operator does not work correctly ";
677 SqlTest = new SqlDecimal(1);
678 SqlTestBoolean = (SqlBoolean)SqlTest;
679 Assert(error + "(true)", SqlTestBoolean.Value);
681 SqlTest = new SqlDecimal(19);
682 SqlTestBoolean = (SqlBoolean)SqlTest;
683 Assert(error + "(true)", SqlTestBoolean.Value);
685 SqlTest = new SqlDecimal(0);
686 SqlTestBoolean = (SqlBoolean)SqlTest;
687 Assert(error + "(false)", !SqlTestBoolean.Value);
691 // SqlDouble to SqlBoolean
692 [Test]
693 public void SqlDoubleToSqlBoolean() {
695 SqlDouble SqlTest;
696 SqlBoolean SqlTestBoolean;
697 String error = "SqlDoubleToSqlBoolean operator does not work correctly ";
699 SqlTest = new SqlDouble(1);
700 SqlTestBoolean = (SqlBoolean)SqlTest;
701 Assert(error + "(true)", SqlTestBoolean.Value);
703 SqlTest = new SqlDouble(-19.8);
704 SqlTestBoolean = (SqlBoolean)SqlTest;
705 Assert(error + "(true)", SqlTestBoolean.Value);
707 SqlTest = new SqlDouble(0);
708 SqlTestBoolean = (SqlBoolean)SqlTest;
709 Assert(error + "(false)", !SqlTestBoolean.Value);
713 // SqlIn16 to SqlBoolean
714 [Test]
715 public void SqlInt16ToSqlBoolean() {
717 SqlInt16 SqlTest;
718 SqlBoolean SqlTestBoolean;
719 String error = "SqlInt16ToSqlBoolean operator does not work correctly ";
721 SqlTest = new SqlInt16(1);
722 SqlTestBoolean = (SqlBoolean)SqlTest;
723 Assert(error + "(true)", SqlTestBoolean.Value);
725 SqlTest = new SqlInt16(-143);
726 SqlTestBoolean = (SqlBoolean)SqlTest;
727 Assert(error + "(true)", SqlTestBoolean.Value);
729 SqlTest = new SqlInt16(0);
730 SqlTestBoolean = (SqlBoolean)SqlTest;
731 Assert(error + "(false)", !SqlTestBoolean.Value);
735 // SqlInt32 to SqlBoolean
736 [Test]
737 public void SqlInt32ToSqlBoolean() {
739 SqlInt32 SqlTest;
740 SqlBoolean SqlTestBoolean;
741 String error = "SqlInt32ToSqlBoolean operator does not work correctly ";
743 SqlTest = new SqlInt32(1);
744 SqlTestBoolean = (SqlBoolean)SqlTest;
745 Assert(error + "(true)", SqlTestBoolean.Value);
747 SqlTest = new SqlInt32(1430);
748 SqlTestBoolean = (SqlBoolean)SqlTest;
749 Assert(error + "(true)", SqlTestBoolean.Value);
751 SqlTest = new SqlInt32(0);
752 SqlTestBoolean = (SqlBoolean)SqlTest;
753 Assert(error + "(false)", !SqlTestBoolean.Value);
756 // SqlInt64 to SqlBoolean
757 [Test]
758 public void SqlInt64ToSqlBoolean() {
760 SqlInt64 SqlTest;
761 SqlBoolean SqlTestBoolean;
762 String error = "SqlInt64ToSqlBoolean operator does not work correctly ";
764 SqlTest = new SqlInt64(1);
765 SqlTestBoolean = (SqlBoolean)SqlTest;
766 Assert(error + "(true)", SqlTestBoolean.Value);
768 SqlTest = new SqlInt64(-14305);
769 SqlTestBoolean = (SqlBoolean)SqlTest;
770 Assert(error + "(true)", SqlTestBoolean.Value);
772 SqlTest = new SqlInt64(0);
773 SqlTestBoolean = (SqlBoolean)SqlTest;
774 Assert(error + "(false)", !SqlTestBoolean.Value);
778 // SqlMoney to SqlBoolean
779 [Test]
780 public void SqlMoneyToSqlBoolean() {
782 SqlMoney SqlTest;
783 SqlBoolean SqlTestBoolean;
784 String error = "SqlMoneyToSqlBoolean operator does not work correctly ";
786 SqlTest = new SqlMoney(1);
787 SqlTestBoolean = (SqlBoolean)SqlTest;
788 Assert(error + "(true)", SqlTestBoolean.Value);
790 SqlTest = new SqlMoney(1305);
791 SqlTestBoolean = (SqlBoolean)SqlTest;
792 Assert(error + "(true)", SqlTestBoolean.Value);
794 SqlTest = new SqlMoney(0);
795 SqlTestBoolean = (SqlBoolean)SqlTest;
796 Assert(error + "(false)", !SqlTestBoolean.Value);
800 // SqlSingle to SqlBoolean
801 [Test]
802 public void SqlSingleToSqlBoolean() {
804 SqlSingle SqlTest;
805 SqlBoolean SqlTestBoolean;
806 String error = "SqlSingleToSqlBoolean operator does not work correctly ";
808 SqlTest = new SqlSingle(1);
809 SqlTestBoolean = (SqlBoolean)SqlTest;
810 Assert(error + "(true)", SqlTestBoolean.Value);
812 SqlTest = new SqlSingle(1305);
813 SqlTestBoolean = (SqlBoolean)SqlTest;
814 Assert(error + "(true)", SqlTestBoolean.Value);
816 SqlTest = new SqlSingle(-305.3);
817 SqlTestBoolean = (SqlBoolean)SqlTest;
818 Assert(error + "(true)", SqlTestBoolean.Value);
820 SqlTest = new SqlSingle(0);
821 SqlTestBoolean = (SqlBoolean)SqlTest;
822 Assert(error + "(false)", !SqlTestBoolean.Value);
826 // SqlString to SqlBoolean
827 [Test]
828 public void SqlStringToSqlBoolean() {
830 SqlString SqlTest;
831 SqlBoolean SqlTestBoolean;
832 String error = "SqlSingleToSqlBoolean operator does not work correctly ";
834 SqlTest = new SqlString("true");
835 SqlTestBoolean = (SqlBoolean)SqlTest;
836 Assert(error + "(true)", SqlTestBoolean.Value);
838 SqlTest = new SqlString("TRUE");
839 SqlTestBoolean = (SqlBoolean)SqlTest;
840 Assert(error + "(true)", SqlTestBoolean.Value);
842 SqlTest = new SqlString("True");
843 SqlTestBoolean = (SqlBoolean)SqlTest;
844 Assert(error + "(true)", SqlTestBoolean.Value);
846 SqlTest = new SqlString("false");
847 SqlTestBoolean = (SqlBoolean)SqlTest;
848 Assert(error + "(false)", !SqlTestBoolean.Value);
852 // Boolean to SqlBoolean
853 [Test]
854 public void BooleanToSqlBoolean() {
856 SqlBoolean SqlTestBoolean;
857 bool btrue = true;
858 bool bfalse = false;
859 String error = "BooleanToSqlBoolean operator does not work correctly ";
861 Boolean SqlTest = true;
862 SqlTestBoolean = (SqlBoolean)SqlTest;
863 Assert(error + "(true)", SqlTestBoolean.Value);
864 SqlTestBoolean = (SqlBoolean)btrue;
865 Assert(error + "(true)", SqlTestBoolean.Value);
868 SqlTest = false;
869 SqlTestBoolean = (SqlBoolean)SqlTest;
870 Assert(error + "(false)", !SqlTestBoolean.Value);
871 SqlTestBoolean = (SqlBoolean)bfalse;
872 Assert(error + "(false)", !SqlTestBoolean.Value);
876 // END OF OPERATORS
877 ////
879 ////
880 // PROPERTIES
882 // ByteValue property
883 [Test]
884 public void ByteValueProperty() {
886 String error = "ByteValue property does not work correctly ";
888 AssertEquals(error + "(true)", (byte)1, SqlTrue.ByteValue);
889 AssertEquals(error + "(false)", (byte)0, SqlFalse.ByteValue);
893 // IsFalse property
894 [Test]
895 public void IsFalseProperty() {
897 String error = "IsFalse property does not work correctly ";
899 Assert(error + "(true)", !SqlTrue.IsFalse);
900 Assert(error + "(false)", SqlFalse.IsFalse);
904 // IsNull property
905 [Test]
906 public void IsNullProperty() {
908 String error = "IsNull property does not work correctly ";
910 Assert(error + "(true)", !SqlTrue.IsNull);
911 Assert(error + "(false)", !SqlFalse.IsNull);
912 Assert(error + "(Null)", SqlBoolean.Null.IsNull);
916 // IsTrue property
917 [Test]
918 public void IsTrueProperty() {
920 String error = "IsTrue property does not work correctly ";
922 Assert(error + "(true)", SqlTrue.IsTrue);
923 Assert(error + "(false)", !SqlFalse.IsTrue);
927 // Value property
928 [Test]
929 public void ValueProperty() {
931 String error = "Value property does not work correctly ";
933 Assert(error + "(true)", SqlTrue.Value);
934 Assert(error + "(false)", !SqlFalse.Value);
938 // END OF PROPERTIEs
939 ////
941 ////
942 // FIELDS
944 [Test]
945 public void FalseField() {
947 Assert("False field does not work correctly",
948 !SqlBoolean.False.Value);
952 [Test]
953 public void NullField() {
955 Assert("Null field does not work correctly",
956 SqlBoolean.Null.IsNull);
960 [Test]
961 public void OneField() {
963 AssertEquals("One field does not work correctly",
964 (byte)1, SqlBoolean.One.ByteValue);
967 [Test]
968 public void TrueField() {
970 Assert("True field does not work correctly",
971 SqlBoolean.True.Value);
975 [Test]
976 public void ZeroField() {
978 AssertEquals("Zero field does not work correctly",
979 (byte)0, SqlBoolean.Zero.ByteValue);