* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / class / System.Data.OracleClient / Test / System.Data.OracleClient.jvm / OracleDataReader / OracleDataReader_GetDataTypeName.cs
1 // 
2 // Copyright (c) 2006 Mainsoft Co.
3 // 
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
11 // 
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
14 // 
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 //
23
24 using System;
25 using System.Data;
26 using System.Data.OracleClient;
27
28 using MonoTests.System.Data.Utils;
29
30
31 using NUnit.Framework;
32
33 namespace MonoTests.System.Data.OracleClient
34 {
35         [TestFixture]
36         public class OracleDataReader_GetDataTypeName : ADONetTesterClass
37         {
38                 OracleConnection con;
39                 OracleCommand cmd;
40                 OracleDataReader rdr;
41                 string typeName;
42
43                 [SetUp]
44                 public void SetUp()
45                 {
46                         Exception exp = null;
47                         BeginCase("Setup");
48                         try
49                         {
50                                 con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
51                                 cmd = new OracleCommand("Select EmployeeID From Employees Where FirstName = 'Oved'",  con);
52                                 cmd.CommandType = CommandType.Text;
53                                 con.Open();
54
55                                 rdr = cmd.ExecuteReader();
56                                 rdr.Read();
57
58                                 typeName = rdr.GetDataTypeName(0);
59                                 con.Close();
60                         }
61                         catch(Exception ex){exp = ex;}
62                         finally {EndCase(exp);}
63                 }
64
65                 [TearDown]
66                 public void TearDown()
67                 {
68                 }
69
70                 public static void Main()
71                 {
72                         OracleDataReader_GetDataTypeName tc = new OracleDataReader_GetDataTypeName();
73                         Exception exp = null;
74                         try
75                         {
76                                 tc.BeginTest("OracleDataReader_GetDataTypeName");
77                                 tc.SetUp();
78                                 tc.run();
79                                 tc.TearDown();
80                         }
81                         catch(Exception ex){exp = ex;}
82                         finally {tc.EndTest(exp);}
83                 }
84
85                 [Test]
86                 public void run()
87                 {
88                         Exception exp = null;
89
90                         //make database specific test
91                         switch (ConnectedDataProvider.GetDbType(con))
92                         {
93                                 case DataBaseServer.SQLServer:
94                                         try
95                                         {
96                                                 BeginCase("check type name");
97                                                 Compare(typeName == "DBTYPE_I4" ,true);
98                                         } 
99                                         catch(Exception ex){exp = ex;}
100                                         finally{EndCase(exp); exp = null;}
101                                         break;
102                                 case DataBaseServer.Oracle:
103                                         try
104                                         {
105                                                 BeginCase("check type name");
106                                                 Compare(typeName == "DBTYPE_NUMERIC" || typeName == "NUMBER" ,true);
107                                         } 
108                                         catch(Exception ex){exp = ex;}
109                                         finally{EndCase(exp); exp = null;}
110                                         break;
111                                 case DataBaseServer.DB2:
112                                         try
113                                         {
114                                                 BeginCase("check type name");
115                                                 Compare(typeName == "DBTYPE_I4" || typeName == "INTEGER" ,true);
116                                         } 
117                                         catch(Exception ex){exp = ex;}
118                                         finally{EndCase(exp); exp = null;}
119                                         break;
120                                 case DataBaseServer.Unknown:
121                                         break;
122                         }
123
124                 }
125         }
126
127 }