// // Copyright (c) 2006 Mainsoft Co. // // 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 System; using System.Text; using System.Data; using System.Data.OracleClient; using MonoTests.System.Data.Utils; using MonoTests.System.Data.Utils.Data; using NUnit.Framework; namespace MonoTests.System.Data.OracleClient { [TestFixture] public class OracleDataReader_GetDateTime : ADONetTesterClass { private OracleConnection con; private OracleCommand cmd; private OracleDataReader rdr; Exception exp; [SetUp] [TearDown] public void TearDown() { if (con != null && con.State == ConnectionState.Open) con.Close(); } public static void Main() { OracleDataReader_GetDateTime tc = new OracleDataReader_GetDateTime(); Exception exp = null; try { tc.BeginTest("OracleDataReader_GetDateTime"); tc.run(); } catch(Exception ex){exp = ex;} finally {tc.EndTest(exp);} } public void run() { SimpleValue(); MinDate(); } [Test] public void SimpleValue() { try { BeginCase("check simple value"); //prepare data base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString); con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString); con.Open(); cmd = new OracleCommand("Select BirthDate From Employees where EmployeeID = 100", con); rdr = cmd.ExecuteReader(); rdr.Read(); DateTime dt = rdr.GetDateTime(0); //will be 1988-May-31 15:33:44 Compare(dt,new DateTime(1988,5,31,15,33,44,00)); } catch(Exception ex) { exp = ex; } finally { EndCase(exp); if (rdr != null && !rdr.IsClosed) { rdr.Close(); } if (con != null && con.State != ConnectionState.Closed) { con.Close(); } exp = null; } } [Test] public void MinDate() { BeginCase("Test Min date."); exp = null; string[] dateColumns; DateTime[] expectedValues; InitMinDates(out dateColumns, out expectedValues); try { con = new OracleConnection(ConnectedDataProvider.ConnectionString); cmd = new OracleCommand(); cmd.Connection = con; cmd.CommandText = BuildMinDateTimeSelectSql(dateColumns); con.Open(); rdr = cmd.ExecuteReader(); Compare(true, rdr.HasRows); bool b = rdr.Read(); for (int i=0; i