<29/05/07 by:yoni yonik@mainsoft.com>
[mono.git] / mcs / class / System.Web / Test / System.Web.UI.WebControls / SqlDataSourceViewTest.cs
index 6877f9bf039f62f4d1f53eb61847bdbe1b4201ba..f9d1574021d5cd43e2d1f038c0fecb979298e7a0 100644 (file)
@@ -60,6 +60,11 @@ namespace MonoTests.System.Web.UI.WebControls
                public void LoadFromViewState (object savedState)
                {
                        LoadViewState (savedState);
+               }\r
+\r
+               public void DoOnDataSourceViewChanged ()\r
+               {\r
+                       base.OnDataSourceViewChanged (new EventArgs());\r
                }
        }
 
@@ -154,80 +159,167 @@ namespace MonoTests.System.Web.UI.WebControls
                        Assert.IsNotNull (state, "InsertParameters ViewState not null");
                        state = ((IStateManager) view.UpdateParameters).SaveViewState ();
                        Assert.IsNull (state, "UpdateParameters ViewState not null");
-               }
-
-               [Test]
-        public void ViewState ()
-               {
-                       SqlDataSource ds = new SqlDataSource ();
-                       SqlViewPoker sql = new SqlViewPoker (ds, "DefaultView", null);
-
-                       /* XXX test parameters */
-
-                       sql.CancelSelectOnNullParameter = false;
-                       sql.ConflictDetection = ConflictOptions.CompareAllValues;
-                       sql.DeleteCommandType = SqlDataSourceCommandType.Text;
-                       sql.DeleteCommand = "delete command";
-                       sql.FilterExpression = "filter expression";
-                       sql.InsertCommand = "insert command";
-                       sql.InsertCommandType = SqlDataSourceCommandType.Text;
-                       sql.OldValuesParameterFormatString = "{1}";
-                       sql.SelectCommand = "select command";
-                       sql.SelectCommandType = SqlDataSourceCommandType.Text;
-                       sql.SortParameterName = "sort parameter";
-                       sql.UpdateCommand = "update command";
-                       sql.UpdateCommandType = SqlDataSourceCommandType.Text;
-
-                       Assert.IsFalse (sql.CancelSelectOnNullParameter, "A1");
-                       Assert.AreEqual (ConflictOptions.CompareAllValues, sql.ConflictDetection, "A2");
-                       Assert.AreEqual ("delete command", sql.DeleteCommand, "A3");
-                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.DeleteCommandType, "A4");
-                       Assert.AreEqual ("filter expression", sql.FilterExpression, "A5");
-                       Assert.AreEqual ("insert command", sql.InsertCommand, "A6");
-                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.InsertCommandType, "A7");
-                       Assert.AreEqual ("{1}", sql.OldValuesParameterFormatString, "A8");
-                       Assert.AreEqual ("select command", sql.SelectCommand, "A9");
-                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.SelectCommandType, "A10");
-                       Assert.AreEqual ("sort parameter", sql.SortParameterName, "A11");
-                       Assert.AreEqual ("update command", sql.UpdateCommand, "A12");
-                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.UpdateCommandType, "A13");
-
-                       object state = sql.SaveToViewState();
-                       Assert.IsNull (state, "ViewState is null");
-
-                       sql = new SqlViewPoker (ds, "DefaultView", null);
-                       sql.LoadFromViewState (state);
-
-            Assert.IsTrue(sql.CancelSelectOnNullParameter, "B1");
-            Assert.IsFalse(sql.CanDelete, "B2");
-            Assert.IsFalse(sql.CanInsert, "B3");
-            Assert.IsFalse(sql.CanPage, "B4");
-            Assert.IsFalse(sql.CanRetrieveTotalRowCount, "B5");
-            Assert.IsTrue(sql.CanSort, "B6");
-            Assert.IsFalse(sql.CanUpdate, "B7");
-                       Assert.AreEqual (ConflictOptions.OverwriteChanges, sql.ConflictDetection, "B8");
-                       Assert.AreEqual ("", sql.DeleteCommand, "B9");
-            Assert.AreEqual(SqlDataSourceCommandType.Text, sql.DeleteCommandType, "B10");
-            Assert.IsNotNull(sql.DeleteParameters, "B11");
-            Assert.AreEqual(0, sql.DeleteParameters.Count, "B12");
-                       Assert.AreEqual ("", sql.FilterExpression, "B13");
-            Assert.IsNotNull(sql.FilterParameters, "B14");
-            Assert.AreEqual(0, sql.FilterParameters.Count, "B15");
-                       Assert.AreEqual ("", sql.InsertCommand, "B16");
-            Assert.AreEqual(SqlDataSourceCommandType.Text, sql.InsertCommandType, "B17");
-            Assert.IsNotNull(sql.InsertParameters, "B18");
-            Assert.AreEqual(0, sql.InsertParameters.Count, "B19");
-                       Assert.AreEqual ("{0}", sql.OldValuesParameterFormatString, "B20");
-                       Assert.AreEqual ("", sql.SelectCommand, "B21");
-            Assert.AreEqual(SqlDataSourceCommandType.Text, sql.SelectCommandType, "B22");
-            Assert.IsNotNull(sql.SelectParameters, "B23");
-            Assert.AreEqual(0, sql.SelectParameters.Count, "B24");
-                       Assert.AreEqual ("", sql.SortParameterName, "B25");
-                       Assert.AreEqual ("", sql.UpdateCommand, "B26");
-            Assert.AreEqual(SqlDataSourceCommandType.Text, sql.UpdateCommandType, "B27");
-            Assert.IsNotNull(sql.UpdateParameters, "B28");
-            Assert.AreEqual(0, sql.UpdateParameters.Count, "B29");
-               }
+               }\r
+\r
+               [Test]\r
+               public void ViewState ()\r
+               {\r
+                       SqlDataSource ds = new SqlDataSource ();\r
+                       SqlViewPoker sql = new SqlViewPoker (ds, "DefaultView", null);\r
+\r
+                       /* XXX test parameters */\r
+\r
+                       sql.CancelSelectOnNullParameter = false;\r
+                       sql.ConflictDetection = ConflictOptions.CompareAllValues;\r
+                       sql.DeleteCommandType = SqlDataSourceCommandType.Text;\r
+                       sql.DeleteCommand = "delete command";\r
+                       sql.FilterExpression = "filter expression";\r
+                       sql.InsertCommand = "insert command";\r
+                       sql.InsertCommandType = SqlDataSourceCommandType.Text;\r
+                       sql.OldValuesParameterFormatString = "{1}";\r
+                       sql.SelectCommand = "select command";\r
+                       sql.SelectCommandType = SqlDataSourceCommandType.Text;\r
+                       sql.SortParameterName = "sort parameter";\r
+                       sql.UpdateCommand = "update command";\r
+                       sql.UpdateCommandType = SqlDataSourceCommandType.Text;\r
+\r
+                       Assert.IsFalse (sql.CancelSelectOnNullParameter, "A1");\r
+                       Assert.AreEqual (ConflictOptions.CompareAllValues, sql.ConflictDetection, "A2");\r
+                       Assert.AreEqual ("delete command", sql.DeleteCommand, "A3");\r
+                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.DeleteCommandType, "A4");\r
+                       Assert.AreEqual ("filter expression", sql.FilterExpression, "A5");\r
+                       Assert.AreEqual ("insert command", sql.InsertCommand, "A6");\r
+                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.InsertCommandType, "A7");\r
+                       Assert.AreEqual ("{1}", sql.OldValuesParameterFormatString, "A8");\r
+                       Assert.AreEqual ("select command", sql.SelectCommand, "A9");\r
+                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.SelectCommandType, "A10");\r
+                       Assert.AreEqual ("sort parameter", sql.SortParameterName, "A11");\r
+                       Assert.AreEqual ("update command", sql.UpdateCommand, "A12");\r
+                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.UpdateCommandType, "A13");\r
+\r
+                       object state = sql.SaveToViewState ();\r
+                       Assert.IsNull (state, "ViewState is null");\r
+\r
+                       sql = new SqlViewPoker (ds, "DefaultView", null);\r
+                       sql.LoadFromViewState (state);\r
+\r
+                       Assert.IsTrue (sql.CancelSelectOnNullParameter, "B1");\r
+                       Assert.IsFalse (sql.CanDelete, "B2");\r
+                       Assert.IsFalse (sql.CanInsert, "B3");\r
+                       Assert.IsFalse (sql.CanPage, "B4");\r
+                       Assert.IsFalse (sql.CanRetrieveTotalRowCount, "B5");\r
+                       Assert.IsTrue (sql.CanSort, "B6");\r
+                       Assert.IsFalse (sql.CanUpdate, "B7");\r
+                       Assert.AreEqual (ConflictOptions.OverwriteChanges, sql.ConflictDetection, "B8");\r
+                       Assert.AreEqual ("", sql.DeleteCommand, "B9");\r
+                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.DeleteCommandType, "B10");\r
+                       Assert.IsNotNull (sql.DeleteParameters, "B11");\r
+                       Assert.AreEqual (0, sql.DeleteParameters.Count, "B12");\r
+                       Assert.AreEqual ("", sql.FilterExpression, "B13");\r
+                       Assert.IsNotNull (sql.FilterParameters, "B14");\r
+                       Assert.AreEqual (0, sql.FilterParameters.Count, "B15");\r
+                       Assert.AreEqual ("", sql.InsertCommand, "B16");\r
+                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.InsertCommandType, "B17");\r
+                       Assert.IsNotNull (sql.InsertParameters, "B18");\r
+                       Assert.AreEqual (0, sql.InsertParameters.Count, "B19");\r
+                       Assert.AreEqual ("{0}", sql.OldValuesParameterFormatString, "B20");\r
+                       Assert.AreEqual ("", sql.SelectCommand, "B21");\r
+                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.SelectCommandType, "B22");\r
+                       Assert.IsNotNull (sql.SelectParameters, "B23");\r
+                       Assert.AreEqual (0, sql.SelectParameters.Count, "B24");\r
+                       Assert.AreEqual ("", sql.SortParameterName, "B25");\r
+                       Assert.AreEqual ("", sql.UpdateCommand, "B26");\r
+                       Assert.AreEqual (SqlDataSourceCommandType.Text, sql.UpdateCommandType, "B27");\r
+                       Assert.IsNotNull (sql.UpdateParameters, "B28");\r
+                       Assert.AreEqual (0, sql.UpdateParameters.Count, "B29");\r
+               }\r
+\r
+               #region help_results\r
+               class eventAssert\r
+               {\r
+                       private static int _testcounter;\r
+                       private static bool _eventChecker;\r
+                       private eventAssert ()\r
+                       {\r
+                               _testcounter = 0;\r
+                       }\r
+\r
+                       public static bool eventChecker\r
+                       {\r
+                               get\r
+                               {\r
+                                       throw new NotImplementedException ();\r
+                               }\r
+                               set\r
+                               {\r
+                                       _eventChecker = value;\r
+                               }\r
+                       }\r
+\r
+                       static private void testAdded ()\r
+                       {\r
+                               _testcounter++;\r
+                               _eventChecker = false;\r
+                       }\r
+\r
+                       public static void IsTrue (string msg)\r
+                       {\r
+                               Assert.IsTrue (_eventChecker, msg + "#" + _testcounter);\r
+                               testAdded ();\r
+\r
+                       }\r
+\r
+                       public static void IsFalse (string msg)\r
+                       {\r
+                               Assert.IsFalse (_eventChecker, msg + "#" + _testcounter);\r
+                               testAdded ();\r
+                       }\r
+               }\r
+               #endregion\r
+\r
+               [Test]\r
+               [Category ("NotWorking")]\r
+               public void SqlDataSourceView_DataSourceViewChanged ()\r
+               {\r
+                       SqlDataSource ds = new SqlDataSource ();\r
+                       SqlViewPoker sql = new SqlViewPoker (ds, "DefaultView", null);\r
+                       sql.DataSourceViewChanged += new EventHandler (sql_DataSourceViewChanged);\r
+                       sql.DoOnDataSourceViewChanged ();\r
+                       eventAssert.IsTrue ("SqlDataSourceView"); // Assert include counter the first is zero\r
+                       /* XXX test parameters */\r
+\r
+                       sql.CancelSelectOnNullParameter = false;\r
+                       eventAssert.IsTrue ("SqlDataSourceView");\r
+                       sql.ConflictDetection = ConflictOptions.CompareAllValues;\r
+                       eventAssert.IsTrue ("SqlDataSourceView");\r
+                       sql.DeleteCommandType = SqlDataSourceCommandType.Text;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.DeleteCommand = "delete command";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.FilterExpression = "filter expression";\r
+                       eventAssert.IsTrue ("SqlDataSourceView");\r
+                       sql.InsertCommand = "insert command";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.InsertCommandType = SqlDataSourceCommandType.Text;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.OldValuesParameterFormatString = "{1}";\r
+                       eventAssert.IsTrue ("SqlDataSourceView");\r
+                       sql.SelectCommand = "select command";\r
+                       eventAssert.IsTrue ("SqlDataSourceView");\r
+                       sql.SelectCommandType = SqlDataSourceCommandType.Text;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.SortParameterName = "sort parameter";\r
+                       eventAssert.IsTrue ("SqlDataSourceView");\r
+                       sql.UpdateCommand = "update command";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.UpdateCommandType = SqlDataSourceCommandType.Text;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+               }\r
+\r
+               void sql_DataSourceViewChanged (object sender, EventArgs e)\r
+               {\r
+                       eventAssert.eventChecker = true;\r
+               }\r
 
                [Test]
                public void CanDelete ()