Enclosed NotWorking attribute with #if !TARGET_JVM
[mono.git] / mcs / class / System.Data.OracleClient / Test / System.Data.OracleClient.jvm / OracleDataReader / OracleDataReader_GetChars.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 #if !TARGET_JVM
37         [Category("NotWorking")]
38 #endif
39         public class OracleDataReader_GetChars : ADONetTesterClass 
40         {
41                 OracleConnection con;
42                 char [] Result;
43
44                 [SetUp]
45                 public void SetUp()
46                 {
47                         Exception exp = null;
48                         BeginCase("Setup");
49                         try
50                         {
51                                 //prepare data
52                                 base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
53
54                                 con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
55                                 Result = new char[100];
56                                 con.Open();
57                         }
58                         catch(Exception ex)     {exp = ex;}
59                         finally {EndCase(exp); exp = null;}
60                 }
61
62                 [TearDown]
63                 public void TearDown()
64                 {
65                         if (con.State == ConnectionState.Open) con.Close();
66                 }
67
68                 public static void Main()
69                 {
70                         OracleDataReader_GetChars tc = new OracleDataReader_GetChars();
71                         Exception exp = null;
72                         try
73                         {
74                                 tc.BeginTest("OracleDataReader_GetChars");
75                                 tc.SetUp();
76                                 tc.run();
77                                 tc.TearDown();
78                         }
79                         catch(Exception ex){exp = ex;}
80                         finally {tc.EndTest(exp);}
81                 }
82
83                 [Test]
84                 public void run()
85                 {
86                         Exception exp = null;
87                         long rdrResults = 0;
88
89                         OracleCommand cmd = new OracleCommand("Select LastName From Employees Where EmployeeID = 100", con);
90                         OracleDataReader rdr = cmd.ExecuteReader();
91                         rdr.Read();
92
93                         //LastName should be "Last100"
94         
95                         try
96                         {
97                                 BeginCase("check result length");
98                                 rdrResults = rdr.GetChars(0, 0, Result, 0, Result.Length);
99                                 Compare(rdrResults,(long)"Last100".Length  );
100                         } 
101                         catch(Exception ex){exp = ex;}
102                         finally{EndCase(exp); exp = null;}
103
104                         try
105                         {
106                                 BeginCase("check result - char[0]");
107                                 Compare(Result[0] ,'L');
108                         } 
109                         catch(Exception ex){exp = ex;}
110                         finally{EndCase(exp); exp = null;}
111
112                         try
113                         {
114                                 BeginCase("check result - char[last char index]");
115                                 Compare(Result["Last100".Length-1] ,'0');
116                         } 
117                         catch(Exception ex){exp = ex;}
118                         finally{EndCase(exp); exp = null;}
119
120                 }
121         }
122 }