2007-06-06 Nagappan A <anagappan@novell.com>
authorNagappan Alagappan <nagappan@gmail.com>
Wed, 6 Jun 2007 10:40:14 +0000 (10:40 -0000)
committerNagappan Alagappan <nagappan@gmail.com>
Wed, 6 Jun 2007 10:40:14 +0000 (10:40 -0000)
* DataColumnExpressionTest.cs (DataColumnCharTest): Test case to
check if the data column of type char. Bug # 81625.

svn path=/trunk/mcs/; revision=78718

mcs/class/System.Data/Test/Mono.Data.SqlExpressions/ChangeLog
mcs/class/System.Data/Test/Mono.Data.SqlExpressions/DataColumnExpressionTest.cs

index 086dc3dfcea867c7406fdb0d7a38f286f67c78d7..c72b837dd18248ec2a393a398d66185966246923 100644 (file)
@@ -1,3 +1,8 @@
+2007-06-06  Nagappan A  <anagappan@novell.com>
+
+       * DataColumnExpressionTest.cs (DataColumnCharTest): Test case to
+       check if the data column of type char. Bug # 81625.
+
 2006-12-07  Nagappan A  <anagappan@novell.com>
 
        * Mono.Data.SqlExpressions/DataColumnExpressionTest.cs
index 046010bced8d25a871b1bf4348a461bcb25fad9d..a3442174a614c81e263ccc8ad2595d284e68f5cf 100644 (file)
@@ -38,4 +38,55 @@ namespace Monotests_Mono.Data.SqlExpressions
                        Assert.AreEqual (0, (int)table.Rows[0][2], "#1");
                }
        }
+       [TestFixture]
+       public class DataColumnCharTest
+       {
+               private static DataTable _dt = new DataTable();
+
+               [Test]
+               public void Test1 ()
+               {
+                       _dt.Columns.Add(new DataColumn("a", typeof(char)));
+
+                       AddData('1');
+                       AddData('2');
+                       AddData('3');
+                       AddData('A');
+
+                       Assert.AreEqual (true, FindRow("'A'"), "Test1-1 failed");
+                       Assert.AreEqual (true, FindRow("65"), "Test1-2 failed");
+                       Assert.AreEqual (true, FindRow("'1'"), "Test1-3 failed");
+               }
+
+               [Test]
+               [ExpectedException(typeof(FormatException))]
+               public void Test2 ()
+               {
+                       FindRow("'65'");
+               }
+               [Test]
+               public void Test3 ()
+               {
+                       Assert.AreEqual (false, FindRow ("1"), "Test3-1 failed");
+               }
+
+               private static bool FindRow(string f)
+               {
+                       string filter = string.Format("a = {0}", f);
+
+                       DataRow[] rows = _dt.Select(filter);
+
+                       if (rows.Length == 0)
+                               return false;
+                       else
+                               return true;
+               }
+
+               private static void AddData(char a)
+               {
+                       DataRow row = _dt.NewRow();
+                       row["a"] = a;
+                       _dt.Rows.Add(row);
+               }
+       }
 }