001: /*
002: Copyright (C) 2002-2004 MySQL AB
003:
004: This program is free software; you can redistribute it and/or modify
005: it under the terms of version 2 of the GNU General Public License as
006: published by the Free Software Foundation.
007:
008: There are special exceptions to the terms and conditions of the GPL
009: as it is applied to this software. View the full text of the
010: exception in file EXCEPTIONS-CONNECTOR-J in the directory of this
011: software distribution.
012:
013: This program is distributed in the hope that it will be useful,
014: but WITHOUT ANY WARRANTY; without even the implied warranty of
015: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
016: GNU General Public License for more details.
017:
018: You should have received a copy of the GNU General Public License
019: along with this program; if not, write to the Free Software
020: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021:
022:
023:
024: */
025: package testsuite.simple;
026:
027: import testsuite.BaseTestCase;
028:
029: import java.sql.SQLException;
030:
031: /**
032: *
033: * @author Mark Matthews
034: * @version $Id: NumbersTest.java 3726 2005-05-19 15:52:24Z mmatthews $
035: */
036: public class NumbersTest extends BaseTestCase {
037: // ~ Static fields/initializers
038: // ---------------------------------------------
039:
040: private static final long TEST_BIGINT_VALUE = 6147483647L;
041:
042: // ~ Constructors
043: // -----------------------------------------------------------
044:
045: /**
046: * Creates a new NumbersTest object.
047: *
048: * @param name
049: * DOCUMENT ME!
050: */
051: public NumbersTest(String name) {
052: super (name);
053: }
054:
055: // ~ Methods
056: // ----------------------------------------------------------------
057:
058: /**
059: * Runs all test cases in this test suite
060: *
061: * @param args
062: */
063: public static void main(String[] args) {
064: junit.textui.TestRunner.run(NumbersTest.class);
065: }
066:
067: /**
068: * DOCUMENT ME!
069: *
070: * @throws Exception
071: * DOCUMENT ME!
072: */
073: public void setUp() throws Exception {
074: super .setUp();
075: createTestTable();
076: }
077:
078: /**
079: * DOCUMENT ME!
080: *
081: * @throws SQLException
082: * DOCUMENT ME!
083: */
084: public void testNumbers() throws SQLException {
085: this .rs = this .stmt.executeQuery("SELECT * from number_test");
086:
087: while (this .rs.next()) {
088: long minBigInt = this .rs.getLong(1);
089: long maxBigInt = this .rs.getLong(2);
090: long testBigInt = this .rs.getLong(3);
091: assertTrue("Minimum bigint not stored correctly",
092: (minBigInt == Long.MIN_VALUE));
093: assertTrue("Maximum bigint not stored correctly",
094: (maxBigInt == Long.MAX_VALUE));
095: assertTrue("Test bigint not stored correctly",
096: (TEST_BIGINT_VALUE == testBigInt));
097: }
098: }
099:
100: private void createTestTable() throws SQLException {
101: try {
102: this .stmt.executeUpdate("DROP TABLE number_test");
103: } catch (SQLException sqlEx) {
104: ;
105: }
106:
107: this .stmt
108: .executeUpdate("CREATE TABLE number_test (minBigInt bigint, maxBigInt bigint, testBigInt bigint)");
109: this .stmt
110: .executeUpdate("INSERT INTO number_test (minBigInt,maxBigInt,testBigInt) values ("
111: + Long.MIN_VALUE
112: + ","
113: + Long.MAX_VALUE
114: + ","
115: + TEST_BIGINT_VALUE + ")");
116: }
117: }
|