1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/*
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (C) 2007 Google Inc.
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * you may not use this file except in compliance with the License.
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * You may obtain a copy of the License at
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License.
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.sql;
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.KnownFailure;
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets;
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel;
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew;
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass;
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
274a9346222ea829e97506f5f86a924e18b5618a0aUrs Grobimport java.io.IOException;
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.MalformedURLException;
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.URL;
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.DatabaseMetaData;
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.Date;
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.PreparedStatement;
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.ResultSet;
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.ResultSetMetaData;
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.SQLException;
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.Statement;
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.Time;
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.sql.Timestamp;
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Arrays;
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Calendar;
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.GregorianCalendar;
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Iterator;
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.LinkedList;
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.List;
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.ListIterator;
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Tests based on
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <a href="http://java.sun.com/products/jdbc/download.html">JDBC 1.0 API spec
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * </a> Table 1.0
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(ResultSet.class)
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class ResultSetGetterTests extends SQLTest {
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    String queryAllSelect = "select * from type";
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    ResultSet res = null;
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    Statement st = null;
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // Judgement concerning support is based on the result of ResultSet.getOject
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // and Table 1 of JDBC 1.0 spec.
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean booleanSupported = false;
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean blobSupported = false;
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean bigIntSupported = false;
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean smallIntSupported = false;
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean mediumIntSupported = false;
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean realSupported = false;
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean floatSupported = false;
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean dateSupported = false;
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean timeSupported = false;
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean timeStampSupported = false;
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean dateTimeSupported = false;
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean urlSupported= false;
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean tinyIntSupported = false;
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean decimalSupported = false;
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean numericSupported = false;
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static List<String> colNames = Arrays.asList("BoolVal", "IntVal", "LongVal",
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            "Bint", "Tint", "Sint", "Mint", "IntegerVal", "RealVal",
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            "DoubleVal", "FloatVal", "DecVal", "NumVal", "charStr",
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            "dateVal", "timeVal", "TS", "DT", "TBlob", "BlobVal", "MBlob",
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            "LBlob", "TText", "TextVal", "MText", "LText", "MaxLongVal",
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            "MinLongVal", "validURL", "invalidURL");
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static List<String> values = Arrays.asList("1", "-1", "22", "2", "33",
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         "3","1","2","3.9","23.2","33.3","44",
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        "5", "test string", "1799-05-26", "12:35:45", "2007-10-09 14:28:02.0",
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        "1221-09-22 10:11:55","1","2","3","4","Test text message tiny",
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        "Test text", "Test text message medium",
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        "Test text message long");
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static boolean[] supported = new boolean[]{
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        booleanSupported,
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        bigIntSupported,
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        tinyIntSupported,
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        smallIntSupported,
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        mediumIntSupported,
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        realSupported,
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        floatSupported,
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        decimalSupported,
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        numericSupported,
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        dateSupported,
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        timeSupported,
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        timeStampSupported,
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        dateTimeSupported,
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        blobSupported,
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        blobSupported,
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        blobSupported,
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        blobSupported,
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        true,
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        bigIntSupported,
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        bigIntSupported,
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        urlSupported,
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        urlSupported
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      };
125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // Not supported: BIT,VARBINARY, LONGVARBINARY, BINARY, VARCHAR, LONGVARCHAR
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static Class[] typeMap = new Class[]{
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.String.class, //
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Integer.class,//Types.INTEGER,
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Integer.class, //Types.LONG, not a JDBC 1.0 type
131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Long.class,  // Types.BIGINT,
132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Byte.class,            // Types.TINYINT,
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Short.class, // Types.SMALLINT,
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Integer.class, //Types.MEDIUMINT, , not a JDBC 1.0 type
135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Integer.class, // Types.Integer
136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Float.class,   // Types.REAL,
137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Double.class,  // Types.FLOAT,
138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Double.class, // Types.DOUBLE,
139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.math.BigDecimal.class, // Types.DECIMAL,
140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.math.BigDecimal.class, // Types.NUMERIC,
141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.String.class,     // Types.CHAR
142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.sql.Date.class,        // Types.DATE,
143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.sql.Time.class,        // Types.TIME,
144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.sql.Timestamp.class,  // Types.TIMESTAMP,
145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.sql.Date.class,       // types datetime, not a JDBC 1.0 type
146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.sql.Blob.class,       // Types.BLOB, not a JDBC 1.0 type
147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.sql.Blob.class,       // Types.BLOB, not a JDBC 1.0 type
148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.sql.Blob.class,       // Types.BLOB, not a JDBC 1.0 type
149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.sql.Blob.class,       // Types.BLOB, not a JDBC 1.0 type
150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.String.class,    // not a JDBC 1.0 type
151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.String.class,    // not a JDBC 1.0 type
152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.String.class,    // not a JDBC 1.0 type
153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.String.class,    // not a JDBC 1.0 type
154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Long.class,      // Types.BIGINT,
155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.lang.Long.class,      // Types.BIGINT,
156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.net.URL.class,        // not a JDBC 1.0 type
157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            java.net.URL.class         // not a JDBC 1.0 type
158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    };
161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // first inserted row : actual values
163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // second inserted row: null values
164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    String[] queries = {
165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            "create table type (" +
166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            " BoolVal BOOLEAN," + " IntVal INT," + " LongVal LONG,"
168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " Bint BIGINT," + " Tint TINYINT," + " Sint SMALLINT,"
169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " Mint MEDIUMINT, " +
170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    " IntegerVal INTEGER, " + " RealVal REAL, "
172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " DoubleVal DOUBLE, " + " FloatVal FLOAT, "
173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " DecVal DECIMAL, " +
174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    " NumVal NUMERIC, " + " charStr CHAR(20), "
176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " dateVal DATE, " + " timeVal TIME, " + " TS TIMESTAMP, "
177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    +
178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    " DT DATETIME, " + " TBlob TINYBLOB, " + " BlobVal BLOB, "
180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " MBlob MEDIUMBLOB, " + " LBlob LONGBLOB, " +
181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    " TText TINYTEXT, " + " TextVal TEXT, "
183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " MText MEDIUMTEXT, " + " LText LONGTEXT, " +
184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    " MaxLongVal BIGINT, MinLongVal BIGINT, "+
186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    " validURL URL, invalidURL URL "+
188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    ");"
190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             ,
191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            "insert into type (BoolVal, IntVal, LongVal, Bint, Tint, Sint, Mint,"
193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "IntegerVal, RealVal, DoubleVal, FloatVal, DecVal,"
194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "NumVal, charStr, dateVal, timeVal, TS,"
195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "DT, TBlob, BlobVal, MBlob, LBlob,"
196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "TText, TextVal, MText, LText, MaxLongVal, MinLongVal,"
197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " validURL, invalidURL"
198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + ") "
199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "values (1, -1, 22, 2, 33,"
200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "3, 1, 2, 3.9, 23.2, 33.3, 44,"
201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "5, 'test string', '1799-05-26', '12:35:45', '2007-10-09 14:28:02.0',"
202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "'1221-09-22 10:11:55', 1, 2, 3, 4,"
203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "'Test text message tiny', 'Test text',"
204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + " 'Test text message medium', 'Test text message long', "
205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + Long.MAX_VALUE+", "+Long.MIN_VALUE+", "
206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "'http://www.android.com', 'helloWorld' "+
207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    ");"
208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            ,
209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project           "insert into type (BoolVal, IntVal, LongVal, Bint, Tint, Sint, Mint,"
211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "IntegerVal, RealVal, DoubleVal, FloatVal, DecVal,"
212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "NumVal, charStr, dateVal, timeVal, TS,"
213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "DT, TBlob, BlobVal, MBlob, LBlob,"
214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "TText, TextVal, MText, LText, MaxLongVal, MinLongVal,"
215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    +" validURL, invalidURL"
216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + ") "
217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "values (null, null, null, null, null,"
218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "null, null, null, null, null, null, null,"
219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "null, null, null, null, null,"
220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "null, null, null, null, null,"
221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    + "null, null, null, null,null, null, null, null);"
222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    };
223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @Override
2254a9346222ea829e97506f5f86a924e18b5618a0aUrs Grob    public void setUp() throws Exception {
226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.setUp();
227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            conn.setAutoCommit(false);
229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            st = conn.createStatement();
230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (int i = 0; i < queries.length; i++) {
231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                st.execute(queries[i]);
232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res = st.executeQuery(queryAllSelect);
234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.next());
235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("SQLException is thrown: " + e.getMessage());
237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void tearDown() {
241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            st.execute("drop table if exists type");
243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            st.close();
244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.close();
245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("SQLException is thrown "+e.getMessage());
247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } finally {
248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                st.close();
250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                res.close();
251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (SQLException ee) {
252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.tearDown();
255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getBytes(int)}.
259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Exception testing",
263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getBytes",
264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetBytesInt() {
267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int i = 1;
268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // null value
271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            i = 1;
273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (String t : values) {
275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNull(res.getBytes(i));
276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                i++;
277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.close();
284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getBytes(24);
285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Should get Exception");
286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getBytes(int)}.
294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws SQLException
295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "VARBINARY value",
299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getBytes",
300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @KnownFailure("last assertion fails: invalid conversion. Test passes on RI")
303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetBytesIntVarbinary() throws SQLException {
304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Statement st = null;
306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Statement stQuery = null;
307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        PreparedStatement stPrep = null;
308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ResultSet res = null;
309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // setup
311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            String testString = "HelloWorld";
313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            st = conn.createStatement();
314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            st.executeUpdate("create table testBinary (VARBINARY value);");
315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stPrep = conn
316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .prepareStatement("insert into testBinary values (?);");
317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stPrep.setBytes(1, testString.getBytes());
318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stPrep.execute();
319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stQuery = conn.createStatement();
321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res = stQuery.executeQuery("select * from testBinary");
322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertTrue(res.next());
324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                byte[] output = res.getBytes(1);
325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                String helloTest = new String(output);
326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNotNull(helloTest);
327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(testString, helloTest);
328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (SQLException e) {
329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                fail("Unexpected exception: " + e.getMessage());
330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } finally {
332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (res != null) res.close();
333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (stPrep != null) stPrep.close();
334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (st != null) st.close();
335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (stQuery != null) stQuery.close();
336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getBytes(int)}.
342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws SQLException
343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "BINARY value",
347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getBytes",
348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     @KnownFailure("last assertion fails: invalid conversion. Test passes on RI")
351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetBytesIntBinary() throws SQLException {
352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Statement st = null;
354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Statement stQuery = null;
355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        PreparedStatement stPrep = null;
356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ResultSet res = null;
357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // setup
360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String testString = "HelloWorld";
362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        st = conn.createStatement();
363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        st.executeUpdate("create table testBinary (BINARY value);");
364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        stPrep = conn.prepareStatement("insert into testBinary values (?);");
365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        stPrep.setBytes(1, testString.getBytes());
366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        stPrep.execute();
367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stQuery = conn.createStatement();
369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res = stQuery.executeQuery("select * from testBinary");
370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertTrue(res.next());
372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                byte[] output = res.getBytes(1);
373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                String helloTest = new String(output);
374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNotNull(helloTest);
375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(testString, helloTest);
376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (SQLException e) {
377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                fail("Unexpected exception: " + e.getMessage());
378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } finally {
380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (res != null) res.close();
381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (stPrep != null) stPrep.close();
382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (st != null) st.close();
383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (stQuery != null) stQuery.close();
384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getBytes(String)}.
389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Exception testing",
393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getBytes",
394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {String.class}
395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetBytesString() {
397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int i = 1;
398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // null value
400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (String t : colNames) {
404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNull(res.getBytes(t));
405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.close();
412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getBytes(colNames.get(24));
413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Should get Exception");
414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getBytes(int)}.
421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws SQLException
422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "VARBINARY value",
426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getBytes",
427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {String.class}
428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @KnownFailure("last assertion fails: invalid conversion. Test passes on RI")
430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetBytesStringVarbinary() throws SQLException {
431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Statement st = null;
433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Statement stQuery = null;
434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        PreparedStatement stPrep = null;
435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ResultSet res = null;
436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // setup
438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            String testString = "HelloWorld";
440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            st = conn.createStatement();
441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            st.executeUpdate("create table testBinary (VARBINARY value);");
442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stPrep = conn
443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .prepareStatement("insert into testBinary values (?);");
444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stPrep.setBytes(1, testString.getBytes());
445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stPrep.execute();
446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stQuery = conn.createStatement();
448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res = stQuery.executeQuery("select value from testBinary");
449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertTrue(res.next());
451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                byte[] output = res.getBytes("value");
452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                String helloTest = new String(output);
453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNotNull(helloTest);
454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(testString, helloTest);
455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (SQLException e) {
456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                fail("Unexpected exception: " + e.getMessage());
457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } finally {
459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (res != null) res.close();
460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (stPrep != null) stPrep.close();
461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (st != null) st.close();
462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (stQuery != null) stQuery.close();
463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getBytes(int)}.
469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws SQLException
470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "BINARY value",
474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getBytes",
475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {String.class}
476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     @KnownFailure("last assertion fails: invalid conversion. Test passes on RI")
478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetBytesStringBinary() throws SQLException {
479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Statement st = null;
481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Statement stQuery = null;
482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        PreparedStatement stPrep = null;
483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ResultSet res = null;
484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // setup
487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String testString = "HelloWorld";
489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        st = conn.createStatement();
490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        st.executeUpdate("create table testBinary (BINARY value);");
491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        stPrep = conn.prepareStatement("insert into testBinary values (?);");
492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        stPrep.setBytes(1, testString.getBytes());
493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        stPrep.execute();
494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            stQuery = conn.createStatement();
496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res = stQuery.executeQuery("select value from testBinary");
497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertTrue(res.next());
499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                byte[] output = res.getBytes("value");
500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                String helloTest = new String(output);
501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNotNull(helloTest);
502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(testString, helloTest);
503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (SQLException e) {
504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                fail("Unexpected exception: " + e.getMessage());
505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } finally {
507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (res != null) res.close();
508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (stPrep != null) stPrep.close();
509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (st != null) st.close();
510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            if (stQuery != null) stQuery.close();
511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getConcurrency()}.
516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Not fully supported: CONCUR_UPDATABLE not supported",
520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getConcurrency",
521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetConcurrency() {
524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(ResultSet.CONCUR_READ_ONLY, res.getConcurrency());
526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getDate(int)}.
534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getDate",
539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetDateInt() {
542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            GregorianCalendar testCal = new GregorianCalendar(1799, Calendar.MAY, 26, 0, 0);
545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date input = new Date(testCal.getTimeInMillis());
546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate(15);
547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input.toString(),"1799-05-26");
548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input,d);
549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate(500);
555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Should get exception");
556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Got unspecified Exception "+ e.getMessage());
560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // null value
563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.next());
565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate(15);
566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(d);
567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getDate(int, java.util.Calendar)}.
574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Not fully supported",
578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getDate",
579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class, java.util.Calendar.class}
580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetDateIntCalendar() {
582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        GregorianCalendar testCal = new GregorianCalendar(1799, Calendar.MAY, 26, 0, 0);
583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date input = new Date(testCal.getTimeInMillis());
586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate(15, testCal);
587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input.toString(),"1799-05-26");
589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input,d);
590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate(500, testCal);
596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Should get exception");
597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Got unspecified Exception "+ e.getMessage());
601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // null value
605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.next());
607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate(15,testCal);
608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(d);
609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getDate(java.lang.String)}.
616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Not fully supported",
620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getDate",
621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetDateString() {
624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            GregorianCalendar testCal = new GregorianCalendar(1799, Calendar.MAY, 26, 0, 0);
626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date input = new Date(testCal.getTimeInMillis());
627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate("dateVal");
628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input.toString(),"1799-05-26");
629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input,d);
630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate("bla");
636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Should get exception");
637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // null value
642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.next());
644f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate("dateVal");
645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(d);
646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getDate(java.lang.String, java.util.Calendar)}.
653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getDate",
658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.util.Calendar.class}
659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetDateStringCalendar() {
661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        GregorianCalendar testCal = new GregorianCalendar(1799, Calendar.MAY, 26, 0, 0);
662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date input = new Date(testCal.getTimeInMillis());
664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate("dateVal", testCal);
665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input.toString(),"1799-05-26");
667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input,d);
668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate("bla", testCal);
674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Should get exception");
675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // null value
680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.next());
682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Date d = res.getDate("dateVal",testCal);
683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(d);
684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getDouble(int)}.
691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getDouble",
696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetDoubleInt() {
699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        double output = 0.0;
701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             double[] input = {2.0, 3.9 , 23.2};
703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             output = res.getDouble(8);
705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             assertEquals(input[0],output);
706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             output = res.getDouble(9);
708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             assertEquals(input[1],output);
709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             output = res.getDouble(10);
711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             assertEquals(input[2],output);
712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try  {
718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getDouble(500);
719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // null value
724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getDouble(8);
727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0.0,output);
728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getDouble(9);
730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0.0,output);
731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getDouble(10);
733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0.0,output);
734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project       } catch (SQLException e) {
736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project           fail("Unexpected exception: " + e.getMessage());
737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project       }
738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getDouble(java.lang.String)}.
743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
745f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
746f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Not fully supported: eg. getDouble from TinyInt ",
747f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getDouble",
748f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
749f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
750f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetDoubleString() {
751f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        double input = 23.2;
752f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        double output = 0.0;
753f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
754f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try{
755f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getDouble("DoubleVal");
756f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals (input,output);
757f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
758f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
759f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
760f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
761f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try{
762f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getDouble("bla");
763f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
764f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
765f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
766f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
767f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
768f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // null value
769f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try{
770f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.next());
771f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getDouble("DoubleVal");
772f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals (0.0 , output);
773f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
774f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
775f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
776f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
777f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
778f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
779f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getFloat(int)}.
780f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
781f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
782f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
783f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Not fully supported: eg.: getFloat from TinyInt according to JDBC 1.0 spec",
784f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getFloat",
785f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
786f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
787f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetFloatInt() {
788f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        float defaultF = 0.0f;
789f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
790f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            float[] input = {3.9f, 23.2f, 33.3f};
791f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
792f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
793f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            float output = res.getFloat(9);
794f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input[0], output);
795f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
796f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getFloat(10);
797f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input[1], output);
798f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
799f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getFloat(11);
800f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input[2], output);
801f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
802f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
803f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
804f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
805f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
806f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
807f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getFloat(500);
808f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
809f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
810f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
811f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
812f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
813f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
814f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
815f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            float output = res.getFloat(8);
816f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(defaultF, output);
817f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
818f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getFloat(9);
819f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(defaultF, output);
820f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
821f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getFloat(10);
822f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(defaultF, output);
823f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
824f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
825f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
826f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
827f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
828f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
829f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
830f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getFloat(java.lang.String)}.
831f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
832f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
833f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
834f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Not fully supported",
835f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getFloat",
836f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
837f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
838f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetFloatString() {
839f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        float defaultF = 0.0f;
840f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
841f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            String[] input = {"RealVal", "DoubleVal", "FloatVal"};
842f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            float[] inputF = {3.9f, 23.2f, 33.3f};
843f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
844f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
845f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            float output = res.getFloat(input[0]);
846f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(inputF[0], output);
847f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
848f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getFloat(input[1]);
849f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(inputF[1], output);
850f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
851f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getFloat(input[2]);
852f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(inputF[2], output);
853f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
854f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
855f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
856f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
857f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
858f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
859f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getFloat(500);
860f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
861f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
862f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
863f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
864f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
865f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
866f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
867f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            float output = res.getFloat(8);
868f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(defaultF, output);
869f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
870f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getFloat(9);
871f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(defaultF, output);
872f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
873f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            output = res.getFloat(10);
874f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(defaultF, output);
875f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
876f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
877f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
878f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
879f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
880f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
881f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
882f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getInt(int)}.
883f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
884f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
885f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
886f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
887f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getInt",
888f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
889f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
890f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetIntInt() {
891f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
892f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // real input val -1, 22, 2, 33,3, 1, 2
893f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Integer> input = Arrays.asList(1, -1, 22, 2, 33,3, 1, 2);
894f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ListIterator<Integer> it = input.listIterator();
895f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Double test2 = new Double(23.2);
896f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
897f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (int i = 1;i<9;i++ ) {
898f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(it.next().intValue(),res.getInt(i));
899f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
900f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
901f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
902f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
903f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
904f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
905f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getInt(500);
906f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
907f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
908f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
909f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
910f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
911f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
912f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
913f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (int i = 2;i<11;i++ ) {
914f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(0,res.getInt(i));
915f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
916f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
917f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
918f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
919f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
920f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
921f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
922f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
923f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getInt(java.lang.String)}.
924f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
925f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
926f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
927f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
928f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getInt",
929f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
930f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
931f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetIntString() {
932f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> inputS = Arrays.asList("BoolVal", "IntVal", "LongVal",
933f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Bint", "Tint", "Sint", "Mint", "IntegerVal");
934f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ListIterator<String> itS = inputS.listIterator();
935f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Integer> input = Arrays.asList(1, -1, 22, 2, 33, 3, 1, 2);
936f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ListIterator<Integer> it = input.listIterator();
937f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
938f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            while (it.hasNext()) {
939f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(it.next().intValue(), res.getInt(itS.next()));
940f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
941f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
942f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
943f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
944f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
945f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
946f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getInt("bla");
947f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
948f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
949f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
950f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
951f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
952f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
953f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
954f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (String s : inputS) {
955f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(0, res.getInt(s));
956f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
957f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
958f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
959f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
960f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
961f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
962f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
963f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
964f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getLong(int)}.
965f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
966f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
967f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
968f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
969f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getLong",
970f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
971f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
972f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetLongInt() {
973f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long maxVal = Long.MAX_VALUE;
974f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long minVal = Long.MIN_VALUE;
975f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
976f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
977f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(maxVal, res.getLong(27));
978f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(minVal, res.getLong(28));
979f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
980f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
981f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
982f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
983f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
984f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getInt(500);
985f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
986f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
987f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
988f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
989f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
990f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
991f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
992f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
993f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0,res.getLong(27));
994f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0,res.getLong(28));
995f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
996f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
997f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
998f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
999f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1000f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1001f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1002f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1003f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1004f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getLong(java.lang.String)}.
1005f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1006f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1007f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1008f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1009f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getLong",
1010f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
1011f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1012f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetLongString() {
1013f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long maxVal = Long.MAX_VALUE;
1014f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long minVal = Long.MIN_VALUE;
1015f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1016f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1017f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(maxVal, res.getLong("MaxLongVal"));
1018f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(minVal, res.getLong("MinLongVal"));
1019f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1020f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1021f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1022f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1023f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1024f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getInt("bla");
1025f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1026f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1027f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1028f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1029f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1030f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1031f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1032f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1033f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0,res.getLong("MaxLongVal"));
1034f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0,res.getLong("MinLongVal"));
1035f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1036f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1037f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1038f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1039f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1040f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1041f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1042f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1043f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getMetaData()}.
1044f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * type mappings according to
1045f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec/jdbc-spec.frame8.html
1046f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Not supported datatypes are not checked.
1047f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1048f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargets({
1049f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        @TestTargetNew(
1050f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            level = TestLevel.SUFFICIENT,
1051f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            notes = "checks supported data types ,not supported types are not checked.",
1052f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            method = "getMetaData",
1053f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            args = {}
1054f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        )
1055f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    })
10569cabf56b1cd723054960764911aad96198f06899Jorg Pleumann    @KnownFailure("Wrong value returned for Long: java.lang.String (VARCHAR)")
1057f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetMetaData() {
1058f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        /*
1059f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         * List<String> types = Arrays.asList("BOOLEAN", "INT", "LONG",
1060f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         * "BIGINT", "TINYINT", "SMALLINT", "MEDIUMINT", "INTEGER", "REAL",
1061f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         * "DOUBLE", "FLOAT", "DECIMAL", "NUMERIC", "CHAR(20)", "DATE", "TIME",
1062f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         * "TIMESTAMP", "DATETIME", "TINYBLOB", "BLOB", "MEDIUMBLOB",
1063f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         * "LONGBLOB", "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT", "BIGINT",
1064f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         * "BIGINT","URL","URL");
1065f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         */
1066f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> types = Arrays.asList("VARCHAR", "INTEGER", "INTEGER",
1067f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "BIGINT", "SMALLINT", "SHORT", "INTEGER", "INTEGER", "FLOAT",
1068f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "DOUBLE", "DOUBLE", "DECIMAL", "NUMERIC", "VARCHAR", "DATE",
1069f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "TIME", "TIMESTAMP", "DATETIME", "BLOB", "BLOB", "BLOB",
1070f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "BLOB", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "BIGINT",
1071f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "BIGINT", "URL", "URL");
1072f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1073f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1074f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1075f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ListIterator<String> it = types.listIterator();
1076f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ListIterator<String> colNameIt = colNames.listIterator();
1077f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1078f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            ResultSetMetaData meta = res.getMetaData();
1079f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNotNull(meta);
1080f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals("Error in test setup. Columns do not match", types
1081f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .size(), meta.getColumnCount());
1082f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (int i = 1; i < 31; i++) {
1083f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                String colName = colNameIt.next();
1084f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                String type = it.next();
1085f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                if (supported[i - 1]) {
1086f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    assertTrue("Wrong column name at " + i, colName
1087f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                            .equalsIgnoreCase(meta.getColumnName(i)));
10889cabf56b1cd723054960764911aad96198f06899Jorg Pleumann                    assertTrue("Wrong type at " + i+" required" +type+ " but is "+meta.getColumnTypeName(i), type.equalsIgnoreCase(meta
1089f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                            .getColumnTypeName(i)));
1090f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                }
1091f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1092f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1093f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1094f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1095f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1096f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1097f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1098f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getObject(int)}.
1099f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
1102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "not supported types BIT,VARBINARY, LONGVARBINARY, BINARY, VARCHAR, LONGVARCHAR",
1103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getObject",
1104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
11069cabf56b1cd723054960764911aad96198f06899Jorg Pleumann    @KnownFailure("Wrong value returned for Long: java.lang.String")
1107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetObjectInt() {
1108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (int i = 1; i <= typeMap.length; i++) {
1111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                if (supported[i-1]) {
1112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    Object value = res.getObject(i);
1113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    assertTrue("value " + value.getClass().getName()
1114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                            + " does not correspond " + typeMap[i-1] + "at "+i, value
1115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                            .getClass().equals(typeMap[i-1]));
1116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                }
1117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getObject(500);
1124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (int i = 1; i <= typeMap.length; i++) {
1132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    Object value = res.getObject(i);
1133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                   assertNull(value);
1134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getObject(java.lang.String)}.
1145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "not fully supported",
1149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getObject",
1150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
1151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
11529cabf56b1cd723054960764911aad96198f06899Jorg Pleumann    @KnownFailure("Wrong value returned for Long: java.lang.String")
1153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetObjectString() {
1154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ListIterator<String> colNameIt = colNames.listIterator();
1155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (int i = 1; i <= typeMap.length; i++) {
1157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                String name = colNameIt.next();
1158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                if (supported[i-1]) {
1159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    Object value = res.getObject(name);
1160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    assertTrue("value " + value.getClass().getName()
11619cabf56b1cd723054960764911aad96198f06899Jorg Pleumann                            + " for "+name+" does not correspond " + typeMap[i-1] + "at "+i, value
1162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                            .getClass().equals(typeMap[i-1]));
1163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                }
1164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getObject("bla");
1171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            colNameIt = colNames.listIterator();
1179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (int i = 1; i <= typeMap.length; i++) {
1181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    Object value = res.getObject(colNameIt.next());
1182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                   assertNull(value);
1183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getRow()}.
1193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Exception testing missed, test fails. According to spec afterlast row is 0 but returns 3",
1197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getRow",
1198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @KnownFailure("If there is no current row 0 must be returned. res.close() does not wrap up")
1201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetRow() {
1202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(1, res.getRow());
1204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.isFirst());
1205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(2, res.getRow());
1207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.isLast());
1208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue(res.isAfterLast());
1210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0, res.getRow());
1211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.close();
1217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getRow();
1218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
1220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getShort(int)}.
1225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getShort",
1230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetShortInt() {
1233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            short shorty = res.getShort(6);
1235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(3,shorty);
1236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            short shorty = res.getShort(6);
1243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0,shorty);
1244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getShort(500);
1251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getShort(java.lang.String)}.
1259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getShort",
1264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
1265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetShortString() {
1267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            short shorty = res.getShort("Sint");
1269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(3,shorty);
1270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            short shorty = res.getShort("Sint");
1277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(0,shorty);
1278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getShort("bla");
1285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getStatement()}.
1293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "test fails. According to spec info.getStatement should return"+
1297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        " null but an exception is thrown: stale result set.",
1298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getStatement",
1299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
1300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @KnownFailure("According to spec info.getStatement should return null"+
1302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            " but an exception is thrown: stale result set.")
1303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetStatement() {
1304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            DatabaseMetaData meta = conn.getMetaData();
1306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            ResultSet info = meta.getTypeInfo();
1307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Statement statement2 = info.getStatement();
1308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(statement2);
1309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch(SQLException e) {
1310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Statement statement2 = res.getStatement();
1315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(st, statement2);
1316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch(SQLException e) {
1317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project       // exception testing
1321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.close();
1323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getStatement();
1324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getString(int)}.
1332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getString",
1337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetStringInt() {
1340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> texts = Arrays.asList("Test text message tiny",
1341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Test text", "Test text message medium",
1342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "Test text message long");
1343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int i = 23;
1344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //text and exception testing
1346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (String t : texts) {
1348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t, res.getString(i));
1349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                i++;
1350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // the rest: everything should work with getString
1356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        texts = Arrays.asList("1", "-1", "22", "2", "33",
1358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         "3","1","2","3.9","23.2","33.3","44",
1359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        "5", "test string", "1799-05-26", "12:35:45", "2007-10-09 14:28:02.0",
1360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        "1221-09-22 10:11:55","1","2","3","4");
1361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        i= 1;
1362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (String t : texts) {
1365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t, res.getString(i));
1366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                i++;
1367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //null testing
1373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            i = 1;
1376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (String t : values) {
1378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNull(res.getString(i));
1379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                i++;
1380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // exception testing
1386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getString(500);
1388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getString(java.lang.String)}.
1397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "exception test missed",
1401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getString",
1402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
1403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetStringString() {
1405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ListIterator<String> colNameIt = colNames.listIterator();
1407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (String t : values) {
1409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t, res.getString(colNameIt.next()));
1410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for  (String name: colNames) {
1419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNull(res.getString(name));
1420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getString("bla");
1427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getTime(int)}.
1435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getTime",
1440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @KnownFailure("getTime should return Time value for a TIMESTAMP type but returns null")
1443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetTimeInt() {
1444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // values "12:35:45", "2007-10-09 14:28:02.0", "1221-09-22 10:11:55"
1445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal = new GregorianCalendar();
1447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.clear();
1448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.set(Calendar.HOUR_OF_DAY, 12);
1449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.set(Calendar.MINUTE, 35);
1450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.set(Calendar.SECOND, 45);
1451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.set(Calendar.MILLISECOND, 0);
1452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // set with calendar value (correct init time: since epoch)
1453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis = cal.getTime().getTime();
1454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Time t1 = new java.sql.Time(millis);
1455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNotNull("t1", t1);
1456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal2 = new GregorianCalendar();
1459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.YEAR, 2007);
1460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MONTH, Calendar.OCTOBER);
1461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.DATE, 9);
1462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.HOUR_OF_DAY, 14);
1463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MINUTE, 28);
1464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.SECOND, 02);
1465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MILLISECOND, 0);
1466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis2 = cal2.getTime().getTime();
1468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Time t2 = new java.sql.Time(millis2);
1469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int i = 16;
1471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Time resTime = res.getTime(i);
1474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNotNull("Pos " + i + " null", resTime);
1475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t1.toString(), resTime.toString());
1476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t1.getTime(), resTime.getTime());
1477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t1, resTime);
1478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Compatibility Test: TIMESTAMP value
1482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        i = 17;
1483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Time resTime = res.getTime(i);
1486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNotNull("Pos " + i + " null", resTime);
1487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.toString(), resTime.toString());
1488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.getTime(), resTime.getTime());
1489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2, resTime);
1490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            i = 16;
1496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getTime(i));
1498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getTime(500);
1504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
1507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getTime(int, java.util.Calendar)}.
1512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getTime",
1517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class, java.util.Calendar.class}
1518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     @KnownFailure("getTime on TIMESTAMP value fails: returns null")
1520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetTimeIntCalendar() {
1521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Time> times = new LinkedList<Time>();
1522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Calendar> cals = new LinkedList<Calendar>();
1523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Arrays.asList("12:35:45", "2007-10-09 14:28:02.0",
1524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // "1221-09-22 10:11:55");
1525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal1 = new GregorianCalendar();
1527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.clear();
1528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.set(Calendar.HOUR_OF_DAY, 12);
1529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.set(Calendar.MINUTE, 35);
1530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.set(Calendar.SECOND, 45);
1531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.set(Calendar.MILLISECOND, 0);
1532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis = cal1.getTime().getTime();
1534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Time t1 = new java.sql.Time(millis);
1535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal2 = new GregorianCalendar();
1537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.YEAR, 2007);
1538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MONTH, Calendar.OCTOBER);
1539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.DATE, 9);
1540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.HOUR_OF_DAY, 14);
1541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MINUTE, 28);
1542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.SECOND, 02);
1543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MILLISECOND, 0);
1544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis2 = cal2.getTime().getTime();
1546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Time t2 = new java.sql.Time(millis2);
1547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // TIME value
1549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int i = 16;
1551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Time timeRes = res.getTime(i,new GregorianCalendar());
1554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNotNull(timeRes);
1555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1.toString(), timeRes.toString());
1556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1.getTime(), timeRes.getTime());
1557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1, timeRes);
1558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // TIMESTAMP value
1563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        i = 17;
1564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Time timeRes = res.getTime(i,new GregorianCalendar());
1567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNotNull(timeRes);
1568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.toString(), timeRes.toString());
1569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.getTime(), timeRes.getTime());
1570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2, timeRes);
1571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            for (Calendar c : cals) {
1579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNull(res.getTime(16,c));
1580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                i++;
1581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
1582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getTime(500,Calendar.getInstance());
1588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getTime(java.lang.String)}.
1596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
1599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getTime",
1601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
1602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @KnownFailure("getTime should return a Time value for a TIMESTAMP type but returns null")
1604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetTimeString() {
1605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Time> times = new LinkedList<Time>();
1606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> stringTimes = Arrays.asList("timeVal", "TS", "DT");
1608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Iterator<String> it = stringTimes.iterator();
1609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Arrays.asList("12:35:45", "2007-10-09 14:28:02.0",
1611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // "1221-09-22 10:11:55");
1612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal = new GregorianCalendar();
1614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.clear();
1615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.set(Calendar.HOUR_OF_DAY, 12);
1616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.set(Calendar.MINUTE, 35);
1617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.set(Calendar.SECOND, 45);
1618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal.set(Calendar.MILLISECOND, 0);
1619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis = cal.getTime().getTime();
1621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Time t1 = new java.sql.Time(millis);
1622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String col = it.next();
1624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Time timeRes = res.getTime(col);
1627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNotNull(timeRes);
1628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1.toString(), timeRes.toString());
1629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1.getTime(), timeRes.getTime());
1630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1, timeRes);
1631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal2 = new GregorianCalendar();
1636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.YEAR, 2007);
1637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MONTH, Calendar.OCTOBER);
1638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.DATE, 9);
1639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.HOUR_OF_DAY, 14);
1640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MINUTE, 28);
1641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.SECOND, 02);
1642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MILLISECOND, 0);
1643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1644f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis2 = cal.getTime().getTime();
1645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Time t2 = new java.sql.Time(millis2);
1646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        col = it.next();
1648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Time timeRes = res.getTime(col);
1651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNotNull(timeRes);
1652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t2.toString(), timeRes.toString());
1653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t2.getTime(), timeRes.getTime());
1654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t2, timeRes);
1655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNull(res.getTime(col));
1664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getTime("bla");
1670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
1673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getTime(java.lang.String, java.util.Calendar)}.
1678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Testing getTime with TIME, TIMESTAMP value",
1682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getTime",
1683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.util.Calendar.class}
1684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @KnownFailure("getTime on TIMESTAMP value fails: returns null")
1686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetTimeStringCalendar() {
1687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Time> times = new LinkedList<Time>();
1688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> stringTimes = Arrays.asList("timeVal", "TS", "DT");
1690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Iterator<String> it = stringTimes.iterator();
1691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Calendar> cals = new LinkedList<Calendar>();
1692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // Arrays.asList("12:35:45", "2007-10-09 14:28:02.0",
1694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // "1221-09-22 10:11:55");
1695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal1 = new GregorianCalendar();
1697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.clear();
1698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.set(Calendar.HOUR_OF_DAY, 12);
1699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.set(Calendar.MINUTE, 35);
1700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.set(Calendar.SECOND, 45);
1701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal1.set(Calendar.MILLISECOND, 0);
1702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis = cal1.getTime().getTime();
1704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Time t1 = new java.sql.Time(millis);
1705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal2 = new GregorianCalendar();
1707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.YEAR, 2007);
1708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MONTH, Calendar.OCTOBER);
1709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.DATE, 9);
1710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.HOUR_OF_DAY, 14);
1711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MINUTE, 28);
1712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.SECOND, 02);
1713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MILLISECOND, 0);
1714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis2 = cal2.getTime().getTime();
1716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Time t2 = new java.sql.Time(millis2);
1717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // TIME value
1719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String col = it.next();
1720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                Time timeRes = res.getTime(col, new GregorianCalendar());
1723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNotNull(timeRes);
1724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1.toString(), timeRes.toString());
1725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1.getTime(), timeRes.getTime());
1726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertEquals(t1, res.getTime(col));
1727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //TIMESTAMP value
1731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        col = it.next();
1732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Time timeRes = res.getTime(col, new GregorianCalendar());
1735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNotNull(timeRes);
1736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.toString(), timeRes.toString());
1737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.getTime(), timeRes.getTime());
1738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2, res.getTime(col));
1739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    } catch (SQLException e) {
1740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        fail("Unexpected exception: " + e.getMessage());
1741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1745f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1746f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1747f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertNull(res.getTime(stringTimes.get(0), new GregorianCalendar()));
1748f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1749f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1750f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1751f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1752f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1753f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getTime("bla");
1754f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1755f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1756f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
1757f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1758f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1759f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1760f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1761f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getTimestamp(int)}.
1762f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1763f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1764f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1765f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1766f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getTimestamp",
1767f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
1768f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1769f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetTimestampInt() {
1770f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Timestamp> times = new LinkedList<Timestamp>();
1771f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1772f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> stringTimes = Arrays.asList("timeVal", "TS", "DT");
1773f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Iterator<String> it = stringTimes.iterator();
1774f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Calendar> cals = new LinkedList<Calendar>();
1775f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1776f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal2 = new GregorianCalendar();
1777f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.YEAR, 2007);
1778f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MONTH, Calendar.OCTOBER);
1779f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.DATE, 9);
1780f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.HOUR_OF_DAY, 14);
1781f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MINUTE, 28);
1782f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.SECOND, 02);
1783f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MILLISECOND, 0);
1784f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1785f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis = cal2.getTime().getTime();
1786f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Timestamp t2 = new Timestamp(millis);
1787f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        times.add(t2);
1788f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1789f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         Calendar cal3 = new GregorianCalendar();
1790f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.YEAR, 1221);
1791f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.MONTH, Calendar.SEPTEMBER);
1792f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.DATE, 22);
1793f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.HOUR_OF_DAY, 10);
1794f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.MINUTE, 11);
1795f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.SECOND, 55);
1796f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.MILLISECOND, 0);
1797f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1798f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         millis = cal3.getTime().getTime();
1799f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         Timestamp t3 = new Timestamp(millis);
1800f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         times.add(t3);
1801f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         // TIMESTAMP value
1802f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int i = 17;
1803f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1804f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1805f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Timestamp timeRes = res.getTimestamp(i);
1806f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.toString(), timeRes.toString());
1807f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             assertEquals(t2.getTime(), timeRes.getTime());
1808f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             assertEquals(t2, timeRes);
1809f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1810f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1811f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1812f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // DATE value
1813f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        i = 18;
1814f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1815f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Timestamp timeRes = res.getTimestamp(i);
1816f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3.toString(), timeRes.toString());
1817f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             assertEquals(t3.getTime(), timeRes.getTime());
1818f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project             assertEquals(t3, timeRes);
1819f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1820f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1821f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1822f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1823f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1824f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1825f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getTime(i));
1826f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1827f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1828f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1829f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1830f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1831f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getTime(500);
1832f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1833f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1834f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
1835f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1836f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1837f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1838f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1839f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getTimestamp(int, java.util.Calendar)}.
1840f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1841f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1842f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1843f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1844f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getTimestamp",
1845f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class, java.util.Calendar.class}
1846f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1847f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetTimestampIntCalendar() {
1848f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Timestamp> times = new LinkedList<Timestamp>();
1849f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1850f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> stringTimes = Arrays.asList("timeVal", "TS", "DT");
1851f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Iterator<String> it = stringTimes.iterator();
1852f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        List<Calendar> cals = new LinkedList<Calendar>();
1853f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1854f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal2 = new GregorianCalendar();
1855f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.YEAR, 2007);
1856f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MONTH, Calendar.OCTOBER);
1857f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.DATE, 9);
1858f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.HOUR_OF_DAY, 14);
1859f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MINUTE, 28);
1860f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.SECOND, 02);
1861f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MILLISECOND, 0);
1862f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1863f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis = cal2.getTime().getTime();
1864f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Timestamp t2 = new Timestamp(millis);
1865f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        times.add(t2);
1866f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //
1867f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         Calendar cal3 = new GregorianCalendar();
1868f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.YEAR, 1221);
1869f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.MONTH, Calendar.SEPTEMBER);
1870f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.DATE, 22);
1871f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.HOUR_OF_DAY, 10);
1872f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.MINUTE, 11);
1873f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.SECOND, 55);
1874f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.MILLISECOND, 0);
1875f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1876f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         millis = cal3.getTime().getTime();
1877f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         Timestamp t3 = new Timestamp(millis);
1878f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         times.add(t3);
1879f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1880f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//         cals.add(cal1);
1881f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//         cals.add(cal2);
1882f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//         cals.add(cal3);
1883f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//
1884f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        ListIterator<Calendar> calIt = cals.listIterator();
1885f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1886f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int i = 17;
1887f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1888f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1889f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Timestamp timeRes = res.getTimestamp(i,new GregorianCalendar());
1890f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.toString(), timeRes.toString());
1891f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2, timeRes);
1892f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1893f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1894f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1895f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1896f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        i = 18;
1897f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1898f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1899f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Timestamp timeRes = res.getTimestamp(i,new GregorianCalendar());
1900f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3.toString(), timeRes.toString());
1901f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3, timeRes);
1902f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1903f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1904f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1905f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1906f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1907f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1908f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getTime(17,cal2));
1909f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getTime(18,cal3));
1910f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1911f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1912f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1913f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1914f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1915f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getTime(500);
1916f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1917f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1918f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
1919f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1920f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
1921f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1922f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
1923f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getTimestamp(java.lang.String)}.
1924f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
1925f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
1926f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
1927f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
1928f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getTimestamp",
1929f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
1930f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
1931f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetTimestampString() {
1932f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Timestamp> times = new LinkedList<Timestamp>();
1933f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1934f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> stringTimes = Arrays.asList( "TS", "DT");
1935f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Iterator<String> it = stringTimes.iterator();
1936f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        List<Calendar> cals = new LinkedList<Calendar>();
1937f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1938f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal2 = new GregorianCalendar();
1939f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.YEAR, 2007);
1940f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MONTH, Calendar.OCTOBER);
1941f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.DATE, 9);
1942f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.HOUR_OF_DAY, 14);
1943f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MINUTE, 28);
1944f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.SECOND, 02);
1945f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MILLISECOND, 0);
1946f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1947f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis = cal2.getTime().getTime();
1948f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Timestamp t2 = new Timestamp(millis);
1949f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        times.add(t2);
1950f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //
1951f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         Calendar cal3 = new GregorianCalendar();
1952f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.YEAR, 1221);
1953f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.MONTH, Calendar.SEPTEMBER);
1954f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.DATE, 22);
1955f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.HOUR_OF_DAY, 10);
1956f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.MINUTE, 11);
1957f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.SECOND, 55);
1958f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.MILLISECOND, 0);
1959f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1960f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         millis = cal3.getTime().getTime();
1961f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         Timestamp t3 = new Timestamp(millis);
1962f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         times.add(t3);
1963f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1964f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String col = it.next();
1965f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1966f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1967f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Timestamp timeRes = res.getTimestamp(col);
1968f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.toString(), timeRes.toString());
1969f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.toString(), timeRes.toString());
1970f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.getTime(), timeRes.getTime());
1971f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2, timeRes);
1972f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1973f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1974f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1975f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // DATE value
1976f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        col = it.next();
1977f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1978f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1979f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Timestamp timeRes = res.getTimestamp(col);
1980f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3.toString(), timeRes.toString());
1981f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3.toString(), timeRes.toString());
1982f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3.getTime(), timeRes.getTime());
1983f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3, timeRes);
1984f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1985f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1986f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1987f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1988f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1989f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
1990f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getTime(stringTimes.get(0)));
1991f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getTime(stringTimes.get(1)));
1992f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
1993f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
1994f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
1995f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
1996f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
1997f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getTime(500);
1998f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
1999f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2000f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
2001f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2002f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
2003f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2004f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
2005f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getTimestamp(java.lang.String, java.util.Calendar)}.
2006f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
2007f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
2008f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
2009f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
2010f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getTimestamp",
2011f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.util.Calendar.class}
2012f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
2013f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetTimestampStringCalendar() {
2014f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<Timestamp> times = new LinkedList<Timestamp>();
2015f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2016f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> stringTimes = Arrays.asList( "TS", "DT");
2017f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Iterator<String> it = stringTimes.iterator();
2018f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2019f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Calendar cal2 = new GregorianCalendar();
2020f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.YEAR, 2007);
2021f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MONTH, Calendar.OCTOBER);
2022f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.DATE, 9);
2023f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.HOUR_OF_DAY, 14);
2024f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MINUTE, 28);
2025f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.SECOND, 02);
2026f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        cal2.set(Calendar.MILLISECOND, 0);
2027f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2028f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        long millis = cal2.getTime().getTime();
2029f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Timestamp t2 = new Timestamp(millis);
2030f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        times.add(t2);
2031f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        //
2032f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         Calendar cal3 = new GregorianCalendar();
2033f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.YEAR, 1221);
2034f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.MONTH, Calendar.SEPTEMBER);
2035f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          cal3.set(Calendar.DATE, 22);
2036f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.HOUR_OF_DAY, 10);
2037f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.MINUTE, 11);
2038f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.SECOND, 55);
2039f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         cal3.set(Calendar.MILLISECOND, 0);
2040f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2041f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         millis = cal3.getTime().getTime();
2042f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         Timestamp t3 = new Timestamp(millis);
2043f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         times.add(t3);
2044f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2045f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2046f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Timestamp timeRes = res.getTimestamp(stringTimes.get(0),cal2);
2047f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.toString(), timeRes.toString());
2048f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2.getTime(), timeRes.getTime());
2049f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t2, timeRes);
2050f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2051f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
2052f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2053f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // DATE value
2054f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2055f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            Timestamp timeRes = res.getTimestamp(stringTimes.get(1),cal3);
2056f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3.toString(), timeRes.toString());
2057f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3.getTime(), timeRes.getTime());
2058f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(t3, timeRes);
2059f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2060f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
2061f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2062f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2063f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // calIt = cals.listIterator();
2064f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2065f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2066f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
2067f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getTime(stringTimes.get(0),cal2));
2068f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getTime(stringTimes.get(1),cal3));
2069f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2070f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception: " + e.getMessage());
2071f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2072f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2073f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2074f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getTime(500);
2075f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
2076f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2077f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
2078f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2079f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
2080f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2081f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
2082f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getType()}.
2083f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
2084f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
2085f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
2086f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "SQLException checking missed. Only one ResultSet type supported: default values, Test fails.Not fully supported. Always returns ResultSet.TYPE_SCROLL_INSENSITIVE. Wrong default value.",
2087f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getType",
2088f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
2089f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
2090f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @KnownFailure("res.close() does not wrap up")
2091f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetType() {
2092f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2093f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(ResultSet.TYPE_FORWARD_ONLY, res.getType());
2094f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2095f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception " + e.getMessage());
2096f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2097f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2098f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2099f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            st.close();
2100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getType();
2101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception not thrown.");
2102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            //ok
2104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
2107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
2110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getURL(int)}.
2111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
2112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
2113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
2114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "not fully supported type",
2115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getURL",
2116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {int.class}
2117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
2118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetURLInt() {
2119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            URL input = new URL("http://www.android.com");
2121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            URL validURL = res.getURL(29);
2122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input, validURL);
2123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception " + e.getMessage());
2125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (MalformedURLException e) {
2126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception " + e.getMessage());
2127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            URL invalidURL = res.getURL(30);
2131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(invalidURL);
2132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
2134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
2138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getURL(29));
2139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getURL(30));
2140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception " + e.getMessage());
2142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getURL(500);
2146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
2147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
2149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
2151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
2153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Test method for {@link java.sql.ResultSet#getURL(java.lang.String)}.
2154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
2155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
2156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.SUFFICIENT,
2157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "not fully supported type",
2158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getURL",
2159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class}
2160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
2161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetURLString() {
2162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            URL input = new URL("http://www.android.com");
2164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            URL validURL = res.getURL("validURL");
2165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertEquals(input, validURL);
2166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception " + e.getMessage());
2168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (MalformedURLException e) {
2169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception " + e.getMessage());
2170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            URL invalidURL = res.getURL("invalidURL");
2174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(invalidURL);
2175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
2177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.next();
2181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getURL("validURL"));
2182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertNull(res.getURL("invalidURL"));
2183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception " + e.getMessage());
2185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
2188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            res.getURL("bla");
2189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Exception expected");
2190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (SQLException e) {
2191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            // ok
2192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
2193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
2194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
2195