//
-// System.Data.Common.DbProviderFactoriesConfigurationHandler.cs
+// System.Data.Common.DbProviderFactoriesConfigurationHandlerTest.cs
//
// Author:
// Sureshkumar T (tsureshkumar@novell.com)
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
+#if !MOBILE
using System.IO;
using System.Xml;
using NUnit.Framework;
-namespace MonoTests.System.Data.Common {
- [TestFixture]
+namespace MonoTests.System.Data.Common
+{
+ [TestFixture]
public class DbProviderFactoriesConfigurationHandlerTest
{
- const string configSection = "system.data_test";
+ const string configSection = "system.data_test";
- [Test]
- public void GetConfigTest ()
- {
- object o = ConfigurationSettings.GetConfig (configSection);
- Assert.IsTrue (o is DataSet, "GetConfig should return DataSet");
- DataSet ds = o as DataSet;
- DataTable dt = ds.Tables [0];
- Assert.IsNotNull (dt.Columns ["Name"], "Name column missing");
- Assert.IsNotNull (dt.Columns ["Description"], "Description column missing");
- Assert.IsNotNull (dt.Columns ["InvariantName"], "InvariantName column missing");
- Assert.IsNotNull (dt.Columns ["AssemblyQualifiedName"], "AssemblyQualifiedName column missing");
- Assert.IsNotNull (dt.Columns ["SupportedClasses"], "SupportedClasses column missing");
+ [Test]
+ public void GetConfigTest ()
+ {
+ object o = ConfigurationSettings.GetConfig (configSection);
+ DataSet ds = o as DataSet;
+ Assert.IsNotNull (ds, "#A1");
+ Assert.AreEqual ("system.data", ds.DataSetName, "#A2");
+ Assert.AreEqual (1, ds.Tables.Count, "#A3");
- DataColumn [] pk = dt.PrimaryKey;
- Assert.AreEqual (1, pk.Length, "primary key column not set");
- Assert.AreEqual ("InvariantName", pk [0].ColumnName, "InvariantName should be the primary key");
+ DataTable dt = ds.Tables [0];
+ Assert.AreEqual ("DbProviderFactories", dt.TableName, "#B1");
+ Assert.AreEqual (4, dt.Columns.Count, "#B2");
+ Assert.IsNotNull (dt.Columns ["Name"], "#B3");
+ Assert.IsNotNull (dt.Columns ["Description"], "#B4");
+ Assert.IsNotNull (dt.Columns ["InvariantName"], "#B5");
+ Assert.IsNotNull (dt.Columns ["AssemblyQualifiedName"], "#B6");
- }
+ DataColumn [] pk = dt.PrimaryKey;
+ Assert.AreEqual (1, pk.Length, "#C1");
+ Assert.AreEqual ("InvariantName", pk [0].ColumnName, "#C2");
+ }
- [Test]
- public void PopulateTest ()
- {
- object o = ConfigurationSettings.GetConfig (configSection);
- DataSet ds = o as DataSet;
- DataTable dt = ds.Tables [0];
- DataRow r = dt.Rows.Find ("ProviderTest.InvariantName");
- Assert.AreEqual ("ProviderTest.Name", r ["Name"].ToString (), "Name column missing");
- Assert.AreEqual ("ProviderTest.Description", r ["Description"].ToString (), "Description column missing");
- Assert.AreEqual ("ProviderTest.InvariantName", r ["InvariantName"].ToString (), "InvariantName column missing");
- Assert.AreEqual ("ProviderTest.AssemblyQualifiedName", r ["AssemblyQualifiedName"].ToString (), "AssemblyQualifiedName column missing");
- Assert.AreEqual (255, (int) r ["SupportedClasses"], "SupportedClasses column missing");
+ [Test]
+ public void PopulateTest ()
+ {
+ object o = ConfigurationSettings.GetConfig (configSection);
+ DataSet ds = o as DataSet;
+ DataTable dt = ds.Tables [0];
+ Assert.AreEqual (2, dt.Rows.Count, "#A1");
- }
- }
+ DataRow r = dt.Rows.Find ("ProviderTest.InvariantName");
+ Assert.AreEqual ("ProviderTest.Name", r ["Name"].ToString (), "#B2");
+ Assert.AreEqual ("ProviderTest.Description", r ["Description"].ToString (), "#B3");
+ Assert.AreEqual ("ProviderTest.InvariantName", r ["InvariantName"].ToString (), "#B4");
+ Assert.AreEqual ("ProviderTest.AssemblyQualifiedName", r ["AssemblyQualifiedName"].ToString (), "#B5");
+
+ r = dt.Rows.Find ("ProviderTest4.InvariantName");
+ Assert.AreEqual ("ProviderTest4.Name", r ["Name"].ToString (), "#A2");
+ Assert.AreEqual ("ProviderTest4.Description", r ["Description"].ToString (), "#A3");
+ Assert.AreEqual ("ProviderTest4.InvariantName", r ["InvariantName"].ToString (), "#A4");
+ Assert.AreEqual ("ProviderTest4.AssemblyQualifiedName", r ["AssemblyQualifiedName"].ToString (), "#A5");
+ }
+
+ [Test]
+ [Category ("NotWorking")]
+ public void PopulateTest_Machine ()
+ {
+ object o = ConfigurationSettings.GetConfig ("system.data");
+ DataSet ds = o as DataSet;
+ DataTable dt = ds.Tables ["DbProviderFactories"];
+ Assert.IsNotNull (dt, "#B1");
+ Assert.IsTrue (dt.Rows.Count > 1, "#B2");
+ DataRow r = dt.Rows.Find ("ProviderTest2.InvariantName");
+ Assert.AreEqual ("ProviderTest2.Name", r ["Name"].ToString (), "#B3");
+ Assert.AreEqual ("ProviderTest2.Description", r ["Description"].ToString (), "#B4");
+ Assert.AreEqual ("ProviderTest2.InvariantName", r ["InvariantName"].ToString (), "#B5");
+ Assert.AreEqual ("ProviderTest2.AssemblyQualifiedName", r ["AssemblyQualifiedName"].ToString (), "#B6");
+ }
+
+ [Test]
+ public void PopulateFactoriesTest () // bug #80894
+ {
+ DataTable dt = DbProviderFactories.GetFactoryClasses ();
+ }
+ }
}
-#endif // NET_2_0
+#endif