--- /dev/null
+//
+// DataRowViewTest.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// (C) 2005 Novell Inc,
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using NUnit.Framework;
+using System;
+using System.Data;
+using System.ComponentModel;
+
+namespace MonoTests.System.Data
+{
+ [TestFixture]
+ public class DataRowViewTest : Assertion
+ {
+ private DataView CreateTestView ()
+ {
+ DataTable dt1 = new DataTable ("table1");
+ DataColumn c1 = new DataColumn ("col");
+ dt1.Columns.Add (c1);
+ dt1.Rows.Add (new object [] {"1"});
+ return new DataView (dt1);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void CreateChildViewNullStringArg ()
+ {
+ DataView dv = CreateTestView ();
+ DataRowView dvr = dv [0];
+ dvr.CreateChildView ((string) null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void CreateChildViewNullDataRelationArg ()
+ {
+ DataView dv = CreateTestView ();
+ DataRowView dvr = dv [0];
+ dvr.CreateChildView ((DataRelation) null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void CreateChildViewNonExistentName ()
+ {
+ DataView dv = CreateTestView ();
+ DataRowView dvr = dv [0];
+ dvr.CreateChildView ("nothing");
+ }
+
+ [Test]
+ public void CreateChildViewSimple ()
+ {
+ DataSet ds = new DataSet ();
+
+ DataTable dt1 = new DataTable ("table1");
+ ds.Tables.Add (dt1);
+ DataColumn c1 = new DataColumn ("col");
+ dt1.Columns.Add (c1);
+ dt1.Rows.Add (new object [] {"1"});
+
+ DataTable dt2 = new DataTable ("table2");
+ ds.Tables.Add (dt2);
+ DataColumn c2 = new DataColumn ("col");
+ dt2.Columns.Add (c2);
+ dt2.Rows.Add (new object [] {"1"});
+
+ DataRelation dr = new DataRelation ("dr", c1, c2);
+
+ DataView dv = new DataView (dt1);
+ DataRowView dvr = dv [0];
+ DataView v = dvr.CreateChildView (dr);
+ AssertEquals ("RowFilter", "", v.RowFilter);
+ AssertEquals ("Sort", "", v.Sort);
+ }
+ }
+}