// Authors:
// Sureshkumar T (tsureshkumar@novell.com)
// Gert Driesen (drieseng@users.sourceforge.net)
+// Veerapuram Varadhan (vvaradhan@novell.com)
//
// Copyright (c) 2004 Novell Inc., and the individuals listed on the
// ChangeLog entries.
using System.Data.SqlTypes;
using System.Globalization;
using System.Text;
-
-using Mono.Data;
-
using NUnit.Framework;
-namespace MonoTests.System.Data
+namespace MonoTests.System.Data.Connected
{
[TestFixture]
[Category ("odbc")]
[SetUp]
public void SetUp ()
{
- conn = ConnectionManager.Singleton.Connection;
- ConnectionManager.Singleton.OpenConnection ();
+ conn = ConnectionManager.Instance.Sql.Connection;
cmd = conn.CreateCommand ();
}
[TearDown]
public void TearDown ()
{
- if (cmd != null)
- cmd.Dispose ();
- ConnectionManager.Singleton.CloseConnection ();
+ cmd?.Dispose ();
+ ConnectionManager.Instance.Close();
}
[Test]
[Test]
public void GetChars_Index_Invalid ()
{
+ //Console.WriteLine ("In GetChars_Index_Invalid - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 1";
using (IDataReader rdr = cmd.ExecuteReader ()) {
}
}
+ //Console.WriteLine ("In GetChars_Index_Invalid - second_executereader");
using (IDataReader rdr = cmd.ExecuteReader (CommandBehavior.SequentialAccess)) {
Assert.IsTrue (rdr.Read ());
[Test]
public void GetChars_Reader_Closed ()
{
+ //Console.WriteLine ("GetChars_Reader_Closed - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 1";
using (IDataReader rdr = cmd.ExecuteReader ()) {
}
}
+ //Console.WriteLine ("GetChars_Reader_Closed - second_executereader");
using (IDataReader rdr = cmd.ExecuteReader (CommandBehavior.SequentialAccess)) {
Assert.IsTrue (rdr.Read ());
rdr.Close ();
}
[Test]
+ [Category("NotWorking")]
public void GetChars_Reader_NoData ()
{
+ //Console.WriteLine ("GetChars_Reader_NoData - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 666";
using (IDataReader rdr = cmd.ExecuteReader ()) {
try {
rdr.GetChars (-1, 0, (char []) null, 0, 0);
Assert.Fail ("#A1");
- } catch (InvalidOperationException ex) {
+ } catch (IndexOutOfRangeException ex) {
// No data exists for the row/column
- Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#A2");
Assert.IsNull (ex.InnerException, "#A3");
Assert.IsNotNull (ex.Message, "#A4");
}
try {
rdr.GetChars (-1, 0, (char []) null, 0, 0);
Assert.Fail ("#C1");
- } catch (InvalidOperationException ex) {
+ } catch (IndexOutOfRangeException ex) {
// No data exists for the row/column
- Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2");
Assert.IsNull (ex.InnerException, "#C3");
Assert.IsNotNull (ex.Message, "#C4");
}
cmd.CommandText = "SELECT * FROM employee WHERE lname='kumar'";
reader = cmd.ExecuteReader ();
- switch (ConnectionManager.Singleton.Engine.Type) {
+ switch (ConnectionManager.Instance.Sql.EngineConfig.Type) {
case EngineType.SQLServer:
Assert.AreEqual ("int", reader.GetDataTypeName (0), "#1");
break;
cmd.CommandText = "select id, fname, id + 20 as plustwenty from employee";
reader = cmd.ExecuteReader (CommandBehavior.SchemaOnly | CommandBehavior.KeyInfo);
Assert.IsFalse (reader.IsClosed, "#1");
- ConnectionManager.Singleton.CloseConnection ();
+ ConnectionManager.Instance.Sql.CloseConnection ();
Assert.IsTrue (reader.IsClosed, "#2");
} finally {
if (reader != null)
[Test]
public void GetValue_Reader_Closed ()
{
+ //Console.WriteLine ("GetValue_Reader_Closed - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 1";
using (IDataReader reader = cmd.ExecuteReader ()) {
[Test]
public void GetValue_Reader_NoData ()
{
+ //Console.WriteLine ("GetValue_Reader_NoData - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 666";
using (IDataReader rdr = cmd.ExecuteReader ()) {
object value;
object expected;
+ //Console.WriteLine ("GetValue_Type_Image - first_executereader");
cmd.CommandText = "select type_blob from binary_family order by id asc";
using (IDataReader rdr = cmd.ExecuteReader (CommandBehavior.SequentialAccess)) {
expected = new byte [] { 0x32, 0x56, 0x00,
Assert.AreEqual (typeof (byte []), rdr.GetFieldType (0), "#D5");
}
+ //Console.WriteLine ("GetChars_Reader_Closed - second_executereader");
using (IDataReader rdr = cmd.ExecuteReader ()) {
expected = new byte [] { 0x32, 0x56, 0x00,
0x44, 0x22 };
[Test]
public void GetBytes ()
{
+ //Console.WriteLine ("GetBytes - first_executereader");
byte [] expected = new byte [] { 0x32, 0x56, 0x00, 0x44, 0x22 };
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 1";
long ret = 0;
long count = 0;
byte [] val = new byte [totalsize];
+ //Console.WriteLine ("GetBytes:: totalsize={0}", totalsize);
do {
ret = reader.GetBytes (0, offset, val, offset,
(int) Math.Min (buffsize, totalsize - count));
Assert.AreEqual (expected, val, "#A3");
}
+ //Console.WriteLine ("GetBytes - second_executereader");
using (IDataReader reader = cmd.ExecuteReader ()) {
Assert.IsTrue (reader.Read (), "#B1");
Assert.AreEqual (expected, val, "#B3");
}
+ //Console.WriteLine ("GetBytes - third_executereader");
// buffer size > (buffer offset + length) > remaining data
using (IDataReader reader = cmd.ExecuteReader (CommandBehavior.SequentialAccess)) {
Assert.IsTrue (reader.Read ());
Assert.AreEqual (expected [i], val [buffer_offset + i], "#C3:" + i);
}
+ //Console.WriteLine ("GetBytes - fourth_executereader");
// buffer size > (buffer offset + length) > remaining data
using (IDataReader reader = cmd.ExecuteReader ()) {
Assert.IsTrue (reader.Read ());
Assert.AreEqual (new byte [] { 0x0a, 0x0a, 0x0a, 0x56, 0x00, 0x44, 0x0a, 0x22 }, val, "#E12");
}
+ //Console.WriteLine ("GetBytes - fifth_executereader");
behavior = CommandBehavior.SingleResult;
using (IDataReader reader = cmd.ExecuteReader (behavior)) {
Assert.IsTrue (reader.Read (), "#F1");
[Test]
public void GetBytes_Buffer_Null ()
{
+ //Console.WriteLine ("GetBytes_Buffer_Null- first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id in (1,2,3,4) order by id";
using (IDataReader reader = cmd.ExecuteReader (CommandBehavior.SequentialAccess)) {
Assert.IsTrue (reader.Read (), "#D1");
if (conn is SqlConnection) {
-#if NET_2_0
try {
reader.GetBytes (0, 0, null, 0, 0);
Assert.Fail ("#D2");
Assert.IsNull (ex.InnerException, "#D4");
Assert.IsNotNull (ex.Message, "#D5");
}
-#else
- Assert.AreEqual (0, reader.GetBytes (0, 0, null, 0, 0), "#D2");
-#endif
} else {
Assert.AreEqual (-1, reader.GetBytes (0, 0, null, 0, 0), "#D2");
}
Assert.IsTrue (reader.Read (), "#H1");
if (conn is SqlConnection) {
-#if NET_2_0
try {
reader.GetBytes (0, 5, null, 3, 4);
Assert.Fail ("#H2");
Assert.IsNull (ex.InnerException, "#H4");
Assert.IsNotNull (ex.Message, "#H5");
}
-#else
- Assert.AreEqual (0, reader.GetBytes (0, 5, null, 3, 4), "#H2");
-#endif
} else {
Assert.AreEqual (-1, reader.GetBytes (0, 5, null, 3, 4), "#H2");
}
}
[Test]
+ [Category("NotWorking")]
public void GetBytes_DataIndex_Overflow ()
{
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 2";
+ //Console.WriteLine ("GetBytes_DataIndex_Overflow - first_executereader");
using (IDataReader reader = cmd.ExecuteReader (CommandBehavior.SequentialAccess)) {
Assert.IsTrue (reader.Read ());
Assert.AreEqual (0, ret, "#C3");
}
+ //Console.WriteLine ("GetBytes_DataIndex_Overflow - second_executereader");
using (IDataReader reader = cmd.ExecuteReader ()) {
Assert.IsTrue (reader.Read ());
[Test]
public void GetBytes_DataIndex_OffSet ()
{
+ //Console.WriteLine ("GetBytes_DataIndex_Offset - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 2";
using (IDataReader reader = cmd.ExecuteReader (CommandBehavior.SingleResult | CommandBehavior.SequentialAccess)) {
Assert.AreEqual (long_bytes [i + 2], val [i], "#D4:" + i);
}
+ //Console.WriteLine ("GetBytes_DataIndex_Offset - second_executereader");
using (IDataReader reader = cmd.ExecuteReader (CommandBehavior.SingleResult | CommandBehavior.SequentialAccess)) {
Assert.IsTrue (reader.Read ());
[Test]
public void GetBytes_Reader_Closed ()
{
+ //Console.WriteLine ("GetBytes_Reader_Closed - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 1";
using (IDataReader reader = cmd.ExecuteReader (CommandBehavior.SequentialAccess)) {
}
}
+#if DONT_RUN
[Test]
public void GetBytes_Reader_NoData ()
{
+ //Console.WriteLine ("GetBytes_Reader_NoData - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 1";
using (IDataReader reader = cmd.ExecuteReader (CommandBehavior.SequentialAccess)) {
}
}
}
-
+#endif
[Test]
public void GetSchemaTableTest_AutoIncrement ()
{
}
[Test]
+ [Category("NotWorking")]
public void GetValues_Reader_Closed ()
{
+ //Console.WriteLine ("GetValues_Reader_Closed - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 1";
using (IDataReader rdr = cmd.ExecuteReader ()) {
try {
rdr.GetValues ((object []) null);
Assert.Fail ("#1");
- } catch (InvalidOperationException ex) {
+ } catch (ArgumentNullException ex) {
// No data exists for the row/column
- Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#2");
Assert.IsNull (ex.InnerException, "#3");
Assert.IsNotNull (ex.Message, "#4");
}
}
[Test]
+ [Category("NotWorking")]
public void GetValues_Reader_NoData ()
{
+ //Console.WriteLine ("GetValues_Reader_NoData - first_executereader");
cmd.CommandText = "SELECT type_blob FROM binary_family where id = 666";
using (IDataReader rdr = cmd.ExecuteReader ()) {
try {
rdr.GetValues ((object []) null);
Assert.Fail ("#A1");
- } catch (InvalidOperationException ex) {
+ } catch (ArgumentNullException ex) {
// No data exists for the row/column
- Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#A2");
Assert.IsNull (ex.InnerException, "#A3");
Assert.IsNotNull (ex.Message, "#A4");
}
try {
rdr.GetValues ((object []) null);
Assert.Fail ("#C1");
- } catch (InvalidOperationException ex) {
+ } catch (ArgumentNullException ex) {
// No data exists for the row/column
- Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2");
Assert.IsNull (ex.InnerException, "#C3");
Assert.IsNotNull (ex.Message, "#C4");
}