/* Documentation and examples for using ADO.NET: * http://msdn.microsoft.com/en-us/library/e80y5yhx%28v=VS.80%29.aspx */ public static void Main(string[] args) { Console.WriteLine(@"Test cases execution started..."); Console.WriteLine(); //Test standard data types TestCases.Run(Test_DataTypesStandard_Insert); TestCases.Run(Test_DataTypesStandard_Select); TestCases.Run(Test_DataTypesStandard_Update); TestCases.Run(Test_DataTypesStandard_Delete); //Test CUBRID specific data types TestCases.Run(Test_CUBRIDBlob_Insert); TestCases.Run(Test_CUBRIDBlob_Select); TestCases.Run(Test_CUBRIDBlob_Update); TestCases.Run(Test_CUBRIDBlob_Delete); TestCases.Run(Test_CUBRIDClob_Insert); TestCases.Run(Test_CUBRIDClob_Select); TestCases.Run(Test_CUBRIDClob_Update); TestCases.Run(Test_CUBRIDClob_Delete); TestCases.Run(Test_CUBRIDCollections_Select); TestCases.Run(Test_CUBRIDCollections_Insert); TestCases.Run(Test_CUBRIDCollections_Update); TestCases.Run(Test_CUBRIDCollections_Delete); //Test Relationships TestCases.Run(Test_OneToManySelect); TestCases.Run(Test_OneToManyInsert); TestCases.Run(Test_OneToManyUpdate); TestCases.Run(Test_OneToManyDelete); TestCases.Run(Test_ManyToManySelect); TestCases.Run(Test_ManyToManyInsert); TestCases.Run(Test_ManyToManyUpdate); TestCases.Run(Test_ManyToManyDelete); TestCases.Run(Test_OneToOneSelect); TestCases.Run(Test_OneToOneInsert); TestCases.Run(Test_OneToOneUpdate); TestCases.Run(Test_OneToOneDelete); Console.WriteLine(); Console.WriteLine(String.Format("*** Results ***")); Console.WriteLine(String.Format("{0} test case(s) analyzed.", testCasesCount)); Console.WriteLine(String.Format("{0} test case(s) executed.", executed)); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(String.Format("{0} test case(s) passed.", passed)); if (executed - passed > 0) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(String.Format("{0} test case(s) failed.", executed - passed)); } Console.ResetColor(); Console.WriteLine(); Console.WriteLine(@"Press any key to continue..."); Console.ReadKey(); }
public static void Test_CUBRIDClob_Delete() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDClobType).Assembly); //Create the database schema using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDClob", conn); TestCases.ExecuteSQL("create table TestCUBRIDClob(c_integer int not null auto_increment," + "c_clob CLOB," + "primary key (c_integer))", conn); TestCUBRIDClobType test = new TestCUBRIDClobType { c_clob = new CUBRIDClob(conn) }; StreamReader updateFileReader = new StreamReader("../../BSD License.txt"); string clobStringToInsert = updateFileReader.ReadToEnd(); updateFileReader.Close(); test.c_clob.SetString(1, clobStringToInsert); //Insert ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(test); trans.Commit(); } //Retrieve the inserted information IQuery query = session.CreateQuery("FROM TestCUBRIDClobType"); IList <TestCUBRIDClobType> testQuery = query.List <TestCUBRIDClobType>(); Debug.Assert(testQuery.Count == 1); //Delete the inserted information using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Delete(test); trans.Commit(); } IQuery queryAfterDelete = session.CreateQuery("FROM TestCUBRIDClobType"); IList <TestCUBRIDClobType> testQueryAfterDelete = queryAfterDelete.List <TestCUBRIDClobType>(); Debug.Assert(testQueryAfterDelete.Count == 0); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDClob", conn); } }
public static void Test_CUBRIDBlob_Delete() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDBlobType).Assembly); //Create the database schema using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDBlob", conn); TestCases.ExecuteSQL("create table TestCUBRIDBlob(c_integer int not null auto_increment," + "c_blob BLOB," + "primary key (c_integer))", conn); TestCUBRIDBlobType test = new TestCUBRIDBlobType { c_blob = new CUBRIDBlob(conn) }; BinaryReader originalFileReader = new BinaryReader(File.Open("../../CUBRID.ico", FileMode.Open)); byte[] bytesOriginalData = originalFileReader.ReadBytes((int)originalFileReader.BaseStream.Length); originalFileReader.Close(); test.c_blob.SetBytes(1, bytesOriginalData); //Insert ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(test); trans.Commit(); } //Retrieve the inserted information IQuery query = session.CreateQuery("FROM TestCUBRIDBlobType"); IList <TestCUBRIDBlobType> testQuery = query.List <TestCUBRIDBlobType>(); Debug.Assert(testQuery.Count == 1); //Delete the inserted information using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Delete(test); trans.Commit(); } IQuery queryAfterDelete = session.CreateQuery("FROM TestCUBRIDBlobType"); IList <TestCUBRIDBlobType> testQueryAfterDelete = queryAfterDelete.List <TestCUBRIDBlobType>(); Debug.Assert(testQueryAfterDelete.Count == 0); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDBlob", conn); } }
public static void Test_CUBRIDClob_Insert() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDBlobType).Assembly); //Create the database schema using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDClob", conn); TestCases.ExecuteSQL("create table TestCUBRIDClob(c_integer int not null auto_increment," + "c_clob CLOB," + "primary key (c_integer))", conn); TestCUBRIDClobType test = new TestCUBRIDClobType { c_clob = new CUBRIDClob(conn) }; StreamReader originalFileReader = new StreamReader("../../BSD License.txt"); string clobStringToInsert = originalFileReader.ReadToEnd(); originalFileReader.Close(); test.c_clob.SetString(1, clobStringToInsert); //Insert ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(test); trans.Commit(); } } const string sql2 = "SELECT c_clob from TestCUBRIDClob"; CUBRIDCommand cmd2 = new CUBRIDCommand(sql2, conn); DbDataReader reader = cmd2.ExecuteReader(); while (reader.Read()) { CUBRIDClob cString = (CUBRIDClob)reader[0]; string clobStringInserted = cString.GetString(1, (int)cString.ClobLength); Debug.Assert(clobStringToInsert.Length == clobStringInserted.Length); Debug.Assert(clobStringToInsert == clobStringInserted); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDClob", conn); } }
public static void Test_CUBRIDBlob_Insert() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDBlobType).Assembly); //Create the database schema using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDBlob", conn); TestCases.ExecuteSQL("create table TestCUBRIDBlob(c_integer int not null auto_increment," + "c_blob BLOB," + "primary key (c_integer))", conn); TestCUBRIDBlobType test = new TestCUBRIDBlobType { c_blob = new CUBRIDBlob(conn) }; BinaryReader origianlFileReader = new BinaryReader(File.Open("../../CUBRID.ico", FileMode.Open)); byte[] bytesOriginalData = origianlFileReader.ReadBytes((int)origianlFileReader.BaseStream.Length); origianlFileReader.Close(); test.c_blob.SetBytes(1, bytesOriginalData); //Insert ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(test); trans.Commit(); } } const string sql2 = "SELECT c_blob from TestCUBRIDBlob"; CUBRIDCommand cmd2 = new CUBRIDCommand(sql2, conn); DbDataReader reader = cmd2.ExecuteReader(); while (reader.Read()) { CUBRIDBlob bImage = (CUBRIDBlob)reader[0]; byte[] bytesRetrievedData = bImage.GetBytes(1, (int)bImage.BlobLength); Debug.Assert(bytesOriginalData.Length == bytesRetrievedData.Length); Debug.Assert(bytesOriginalData[0] == bytesRetrievedData[0]); Debug.Assert(bytesOriginalData[bytesOriginalData.Length - 1] == bytesRetrievedData[bytesRetrievedData.Length - 1]); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDBlob", conn); } }
public static void Test_CUBRIDBlob_Select() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDBlobType).Assembly); using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDBlob", conn); TestCases.ExecuteSQL("create table TestCUBRIDBlob(c_integer int not null auto_increment," + "c_blob BLOB," + "primary key (c_integer))", conn); const string sql = "insert into TestCUBRIDBlob values(1, ?)"; CUBRIDCommand cmd = new CUBRIDCommand(sql, conn); CUBRIDBlob Blob = new CUBRIDBlob(conn); BinaryReader originalFileReader = new BinaryReader(File.Open("../../CUBRID.ico", FileMode.Open)); byte[] bytesOriginalData = originalFileReader.ReadBytes((int)originalFileReader.BaseStream.Length); originalFileReader.Close(); Blob.SetBytes(1, bytesOriginalData); CUBRIDParameter param = new CUBRIDParameter(); param.ParameterName = "?p"; param.Value = Blob; cmd.Parameters.Add(param); cmd.Parameters[0].DbType = DbType.Binary; cmd.ExecuteNonQuery(); cmd.Close(); ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { //Retrieve the inserted information IQuery query = session.CreateQuery("FROM TestCUBRIDBlobType"); IList <TestCUBRIDBlobType> testQuery = query.List <TestCUBRIDBlobType>(); Debug.Assert(testQuery[0].c_integer == 1); CUBRIDBlob bImage = testQuery[0].c_blob; byte[] bytesRetrievedData = bImage.GetBytes(1, (int)bImage.BlobLength); Debug.Assert(bytesOriginalData.Length == bytesRetrievedData.Length); Debug.Assert(bytesOriginalData[0] == bytesRetrievedData[0]); Debug.Assert(bytesOriginalData[bytesOriginalData.Length - 1] == bytesRetrievedData[bytesRetrievedData.Length - 1]); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDBlob", conn); } }
public static void Test_CUBRIDClob_Select() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDClobType).Assembly); using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDClob", conn); TestCases.ExecuteSQL("create table TestCUBRIDClob(c_integer int not null auto_increment," + "c_clob CLOB," + "primary key (c_integer))", conn); const string sql = "insert into TestCUBRIDClob values(1, ?)"; CUBRIDCommand cmd = new CUBRIDCommand(sql, conn); CUBRIDClob Clob = new CUBRIDClob(conn); StreamReader originalFileReader = new StreamReader("../../BSD License.txt"); string clobStringToInsert = originalFileReader.ReadToEnd(); originalFileReader.Close(); Clob.SetString(1, clobStringToInsert); CUBRIDParameter param = new CUBRIDParameter(); param.ParameterName = "?p"; param.Value = Clob; cmd.Parameters.Add(param); cmd.Parameters[0].DbType = DbType.AnsiString; cmd.ExecuteNonQuery(); cmd.Close(); ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { //Retrieve the inserted information IQuery query = session.CreateQuery("FROM TestCUBRIDClobType"); IList <TestCUBRIDClobType> testQuery = query.List <TestCUBRIDClobType>(); Debug.Assert(testQuery[0].c_integer == 1); CUBRIDClob bImage = testQuery[0].c_clob; string clobInserted = bImage.GetString(1, (int)testQuery[0].c_clob.ClobLength); Debug.Assert(clobStringToInsert.Length == clobInserted.Length); Debug.Assert(clobStringToInsert == clobInserted); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDClob", conn); } }
public static void Test_ManyToManySelect() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDBlobType).Assembly); using (CUBRIDConnection con = TestCases.GetDemodbConnection()) { TestCases.ExecuteSQL("drop table if exists AthleteEvent", con); TestCases.ExecuteSQL("create table AthleteEvent (event_code int, athlete_code int, primary key(event_code,athlete_code))", con); TestCases.ExecuteSQL("insert into AthleteEvent values(20038, 10011)", con); TestCases.ExecuteSQL("insert into AthleteEvent values(20038, 14313)", con); ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (ISession session = sessionFactory.OpenSession()) { IEnumerator <AthleteManyToMany> athletes = session.Query <AthleteManyToMany>().Fetch(b => b.Events).GetEnumerator(); while (athletes.MoveNext()) { if (athletes.Current.Events.Count != 0) { List <object> eventValues = GetTableValues("event", 37, new string[] { "code", "name", "sports", "gender", "players" }); List <object> athleteValues = GetTableValues("athlete", 989, new string[] { "code", "name", "gender", "nation_code", "event" }); Debug.Assert(athletes.Current.code == (int)athleteValues[0]); Debug.Assert(athletes.Current.name == (string)athleteValues[1]); Debug.Assert(athletes.Current.gender == (string)athleteValues[2]); Debug.Assert(athletes.Current.nation_code == (string)athleteValues[3]); Debug.Assert(athletes.Current.athlete_event == (string)athleteValues[4]); Debug.Assert(athletes.Current.Events.Count == 1); Debug.Assert(athletes.Current.Events[0].code == (int)eventValues[0]); Debug.Assert(athletes.Current.Events[0].name == (string)eventValues[1]); Debug.Assert(athletes.Current.Events[0].sports == (string)eventValues[2]); Debug.Assert(athletes.Current.Events[0].gender == (string)eventValues[3]); Debug.Assert(athletes.Current.Events[0].players == (int)eventValues[4]); Debug.Assert(athletes.Current.Events[0].Athletes.Count == 2); Debug.Assert(athletes.Current.Events[0].Athletes[0].code == (int)athleteValues[0]); Debug.Assert(athletes.Current.Events[0].Athletes[0].name == (string)athleteValues[1]); Debug.Assert(athletes.Current.Events[0].Athletes[0].gender == (string)athleteValues[2]); Debug.Assert(athletes.Current.Events[0].Athletes[0].nation_code == (string)athleteValues[3]); Debug.Assert(athletes.Current.Events[0].Athletes[0].athlete_event == (string)athleteValues[4]); break; } } } //Clean database schema TestCases.ExecuteSQL("drop table AthleteEvent", con); } }
public static void Test_CUBRIDCollections_Select() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDCollectionType).Assembly); //Create the database schema using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDCollectionType", conn); TestCases.ExecuteSQL("create table TestCUBRIDCollectionType(id int not null auto_increment," + "sequence_column sequence(int), " + "set_column set(int), " + "multiset_column multiset(string)," + "primary key (id))", conn); //Insert some data in the sequence column TestCases.ExecuteSQL("INSERT INTO TestCUBRIDCollectionType(sequence_column, set_column, multiset_column)" + "VALUES({0, 1, 2, 3}, { 4, 5, 6, 7}, { 'CUBRID', 'qwerty' })", conn); ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { //Retrieve the inserted information IQuery query = session.CreateQuery(" from TestCUBRIDCollectionType"); IList <TestCUBRIDCollectionType> testQuery = query.List <TestCUBRIDCollectionType>(); int[] expectedSequence = { 0, 1, 2, 3 }; int[] expectedSet = { 4, 5, 6, 7 }; string[] expectedMultiset = { "CUBRID", "qwerty" }; Debug.Assert((int)testQuery[0].id == 1); Debug.Assert((int)testQuery[0].seq[0] == expectedSequence[0]); Debug.Assert((int)testQuery[0].seq[1] == expectedSequence[1]); Debug.Assert((int)testQuery[0].seq[2] == expectedSequence[2]); Debug.Assert((int)testQuery[0].seq[3] == expectedSequence[3]); Debug.Assert((int)testQuery[0].set[0] == expectedSet[0]); Debug.Assert((int)testQuery[0].set[1] == expectedSet[1]); Debug.Assert((int)testQuery[0].set[2] == expectedSet[2]); Debug.Assert((int)testQuery[0].set[3] == expectedSet[3]); Debug.Assert((string)testQuery[0].multiset[0] == expectedMultiset[0]); Debug.Assert((string)testQuery[0].multiset[1] == expectedMultiset[1]); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDCollectionType", conn); } }
private static void Run(Action f) { try { TestCases.SuiteSetup(); string testCaseName = f.Method.ToString().Replace("Void ", "").Replace("()", ""); if (testCaseName.StartsWith("Test_")) { testCasesCount++; } foreach (string regexFilter in TestCases.runFilters) { Match match = Regex.Match(testCaseName, regexFilter, RegexOptions.IgnoreCase); if (match.Success && (TestCases.matchExactName == false || (TestCases.matchExactName && testCaseName == regexFilter))) { Console.WriteLine(@"Executing: [" + testCaseName + @"]" + @"..."); executed++; try { //TestCases.TestSetup(); f(); //TestCases.TestCleanup(); passed++; } catch (Exception ex) { Console.WriteLine(@"Error: " + ex.Message); Console.WriteLine(@"Details: " + ex.StackTrace); } break; //exit foreach, as test case name might match multiple filters } } } finally { TestCases.SuiteCleanup(); } }
public static void Test_ManyToManyDelete() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDBlobType).Assembly); using (CUBRIDConnection con = TestCases.GetDemodbConnection()) { TestCases.ExecuteSQL("drop table if exists AthleteEvent", con); TestCases.ExecuteSQL( "create table AthleteEvent (event_code int, athlete_code int, primary key(event_code,athlete_code))", con); TestCases.ExecuteSQL("insert into Event(code) values(20422)", con); AthleteManyToMany athleteManyToMany = new AthleteManyToMany() { name = "Lucian Bute", gender = "M", nation_code = "ROM", athlete_event = "Boxing", Events = new List <Event>() }; athleteManyToMany.Events.Add(new Event() { code = 20422, sports = "Boxing", name = "70 Kg", gender = "M", players = 2 }); ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (ISession session = sessionFactory.OpenSession()) { IEnumerator <AthleteManyToMany> athletes = session.Query <AthleteManyToMany>().Fetch(b => b.Events).GetEnumerator(); int count = 0; while (athletes.MoveNext()) { count++; } Debug.Assert(count == 6677); } using (ISession session = sessionFactory.OpenSession()) { using (ITransaction tx = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(athleteManyToMany); tx.Commit(); } } using (ISession session = sessionFactory.OpenSession()) { IEnumerator <AthleteManyToMany> athletes = session.Query <AthleteManyToMany>().Fetch(b => b.Events).GetEnumerator(); int count = 0; while (athletes.MoveNext()) { count++; } Debug.Assert(count == 6678); } using (ISession session = sessionFactory.OpenSession()) { using (ITransaction tx = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Delete(athleteManyToMany); tx.Commit(); } } using (ISession session = sessionFactory.OpenSession()) { IEnumerator <AthleteManyToMany> athletes = session.Query <AthleteManyToMany>().Fetch(b => b.Events).GetEnumerator(); int count = 0; while (athletes.MoveNext()) { count++; } Debug.Assert(count == 6677); } TestCases.ExecuteSQL("drop table AthleteEvent", con); } }
public static void Test_ManyToManyUpdate() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDBlobType).Assembly); using (CUBRIDConnection con = TestCases.GetDemodbConnection()) { TestCases.ExecuteSQL("drop table if exists AthleteEvent", con); TestCases.ExecuteSQL("create table AthleteEvent (event_code int, athlete_code int, primary key(event_code,athlete_code))", con); TestCases.ExecuteSQL("insert into Event(code) values(20422)", con); AthleteManyToMany athleteManyToMany = new AthleteManyToMany { name = "Lucian Bute", gender = "M", nation_code = "ROM", athlete_event = "Boxing", Events = new List <Event>() }; athleteManyToMany.Events.Add(new Event { code = 20422, sports = "Boxing", name = "70 Kg", gender = "M", players = 2 }); ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (ISession session = sessionFactory.OpenSession()) { using (ITransaction tx = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(athleteManyToMany); tx.Commit(); } } athleteManyToMany.name = "Leonard Doroftei"; athleteManyToMany.Events[0].name = "65 Kg"; using (ISession session = sessionFactory.OpenSession()) { using (ITransaction tx = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Update(athleteManyToMany); tx.Commit(); } } using (ISession session = sessionFactory.OpenSession()) { IEnumerator <AthleteManyToMany> athletes = session.Query <AthleteManyToMany>().Fetch(b => b.Events).GetEnumerator(); while (athletes.MoveNext()) { if (athletes.Current.name == "Leonard Doroftei") { List <object> eventValues = GetTableValues("event", 423, new string[] { "code", "name", "sports", "gender", "players" }); List <object> athleteValues = GetTableValues("athlete", 6678, new string[] { "code", "name", "gender", "nation_code", "event" }); Debug.Assert(athletes.Current.code == (int)athleteValues[0]); Debug.Assert(athletes.Current.name == (string)athleteValues[1]); Debug.Assert(athletes.Current.gender == (string)athleteValues[2]); Debug.Assert(athletes.Current.nation_code == (string)athleteValues[3]); Debug.Assert(athletes.Current.athlete_event == (string)athleteValues[4]); Debug.Assert(athletes.Current.Events.Count == 1); Debug.Assert(athletes.Current.Events[0].code == (int)eventValues[0]); Debug.Assert(athletes.Current.Events[0].name == (string)eventValues[1]); Debug.Assert(athletes.Current.Events[0].sports == (string)eventValues[2]); Debug.Assert(athletes.Current.Events[0].gender == (string)eventValues[3]); Debug.Assert(athletes.Current.Events[0].players == (int)eventValues[4]); Debug.Assert(athletes.Current.Events[0].Athletes.Count == 1); Debug.Assert(athletes.Current.Events[0].Athletes[0].name == (string)athleteValues[1]); Debug.Assert(athletes.Current.Events[0].Athletes[0].gender == (string)athleteValues[2]); Debug.Assert(athletes.Current.Events[0].Athletes[0].nation_code == (string)athleteValues[3]); Debug.Assert(athletes.Current.Events[0].Athletes[0].athlete_event == (string)athleteValues[4]); break; } } } using (ISession session = sessionFactory.OpenSession()) { using (ITransaction tx = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Delete(athleteManyToMany); tx.Commit(); } } TestCases.ExecuteSQL("drop table AthleteEvent", con); } }
public static void Test_DataTypesStandard_Delete() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDBlobType).Assembly); //Create the database schema using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestDataTypesStandard", conn); TestCases.ExecuteSQL("create table TestDataTypesStandard (" + "c_integer integer," + "c_smallint smallint," + "c_bigint bigint," + "c_numeric numeric(10,2)," + "c_float float," + "c_decimal decimal(19,5)," + "c_double double," + "c_char char(1)," + "c_varchar varchar(30)," + "c_time time," + "c_date date," + "c_timestamp timestamp," + "c_datetime datetime," + "c_monetary monetary," + "c_string string," + "c_bit BIT(8)," + "c_varbit bit varying(8)," + "primary key (c_integer))", conn); TestDataTypesStandard test = new TestDataTypesStandard { c_bigint = 1, c_char = "a", c_date = new DateTime(2012, 06, 19), c_datetime = new DateTime(2012, 06, 19, 12, 05, 14), c_decimal = (decimal)0.5, c_double = 1.5, c_float = 1.5f, c_integer = 14, c_monetary = 50, c_numeric = (decimal)20.12, c_smallint = 1, c_string = "qwerty", c_time = new DateTime(2012, 06, 19, 12, 05, 14), c_timestamp = new DateTime(2012, 06, 19, 12, 05, 14), c_varchar = "qwerty", c_bit = 1, c_varbit = 1, }; //Insert ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(test); trans.Commit(); } //Retrieve the inserted information IQuery query = session.CreateQuery("FROM TestDataTypesStandard"); IList <TestDataTypesStandard> testQuery = query.List <TestDataTypesStandard>(); Debug.Assert(testQuery.Count == 1); //Delete the inserted information using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Delete(test); trans.Commit(); } IQuery queryAfterDelete = session.CreateQuery("FROM TestDataTypesStandard"); IList <TestDataTypesStandard> testQueryAfterDelete = queryAfterDelete.List <TestDataTypesStandard>(); Debug.Assert(testQueryAfterDelete.Count == 0); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestDataTypesStandard", conn); } }
public static void Test_CUBRIDCollections_Delete() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDCollectionType).Assembly); //Create the database schema using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDCollectionType", conn); TestCases.ExecuteSQL("create table TestCUBRIDCollectionType(id int not null auto_increment," + "sequence_column sequence(int), " + "set_column set(int), " + "multiset_column multiset(string)," + "primary key (id))", conn); object[] insertSequence = { 0, 1, 2, 3 }; object[] insertSet = { 4, 5, 6, 7 }; object[] insertMultiset = { "CUBRID", "qwerty" }; TestCUBRIDCollectionType testCollections = new TestCUBRIDCollectionType() { seq = insertSequence, set = insertSet, multiset = insertMultiset }; //Insert ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(testCollections); trans.Commit(); } } //Check the the insert performed correctly using (var session = sessionFactory.OpenSession()) { //Retrieve the inserted information IQuery queryAfterInsert = session.CreateQuery(" from TestCUBRIDCollectionType"); IList <TestCUBRIDCollectionType> testQueryAfterInsert = queryAfterInsert.List <TestCUBRIDCollectionType>(); Debug.Assert(testQueryAfterInsert.Count == 1); } //Delete the inserted information using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Delete(testCollections); trans.Commit(); } } using (var session = sessionFactory.OpenSession()) { IQuery queryAfterDelete = session.CreateQuery("FROM TestCUBRIDCollectionType"); IList <TestCUBRIDClobType> testQueryAfterDelete = queryAfterDelete.List <TestCUBRIDClobType>(); Debug.Assert(testQueryAfterDelete.Count == 0); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDCollectionType", conn); } }
public static void Test_CUBRIDCollections_Update() { Configuration cfg = (new Configuration()).Configure().AddAssembly(typeof(TestCUBRIDCollectionType).Assembly); //Create the database schema using (CUBRIDConnection conn = new CUBRIDConnection(cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString))) { conn.Open(); TestCases.ExecuteSQL("drop table if exists TestCUBRIDCollectionType", conn); TestCases.ExecuteSQL("create table TestCUBRIDCollectionType(id int not null auto_increment," + "sequence_column sequence(int), " + "set_column set(int), " + "multiset_column multiset(string)," + "primary key (id))", conn); object[] insertSequence = { 0, 1, 2, 3 }; object[] insertSet = { 4, 5, 6, 7 }; object[] insertMultiset = { "CUBRID", "qwerty" }; TestCUBRIDCollectionType testCollections = new TestCUBRIDCollectionType() { seq = insertSequence, set = insertSet, multiset = insertMultiset }; //Insert ISessionFactory sessionFactory = cfg.BuildSessionFactory(); using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Save(testCollections); trans.Commit(); } } object[] updateSequence = { 10, 11, 12, 13 }; object[] updateSet = { 14, 15, 16, 17 }; object[] updateMultiset = { "ADO.NET", "NHibernate" }; testCollections.seq = updateSequence; testCollections.set = updateSet; testCollections.multiset = updateMultiset; //Update using (var session = sessionFactory.OpenSession()) { using (var trans = session.BeginTransaction(IsolationLevel.ReadUncommitted)) { session.Update(testCollections); trans.Commit(); } } //Check the the insert performed correctly using (var session = sessionFactory.OpenSession()) { //Retrieve the inserted information IQuery query = session.CreateQuery(" from TestCUBRIDCollectionType"); IList <TestCUBRIDCollectionType> testQuery = query.List <TestCUBRIDCollectionType>(); int[] expectedSequence = { 10, 11, 12, 13 }; int[] expectedSet = { 14, 15, 16, 17 }; string[] expectedMultiset = { "ADO.NET", "NHibernate" }; Debug.Assert((int)testQuery[0].id == 1); Debug.Assert((int)testQuery[0].seq[0] == expectedSequence[0]); Debug.Assert((int)testQuery[0].seq[1] == expectedSequence[1]); Debug.Assert((int)testQuery[0].seq[2] == expectedSequence[2]); Debug.Assert((int)testQuery[0].seq[3] == expectedSequence[3]); Debug.Assert((int)testQuery[0].set[0] == expectedSet[0]); Debug.Assert((int)testQuery[0].set[1] == expectedSet[1]); Debug.Assert((int)testQuery[0].set[2] == expectedSet[2]); Debug.Assert((int)testQuery[0].set[3] == expectedSet[3]); Debug.Assert((string)testQuery[0].multiset[0] == expectedMultiset[0]); Debug.Assert((string)testQuery[0].multiset[1] == expectedMultiset[1]); } //Clean the database schema TestCases.ExecuteSQL("drop table if exists TestCUBRIDCollectionType", conn); } }