| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package org.apache.harmony.sql.tests.java.sql; |
| |
| import dalvik.annotation.TestTargetClass; |
| import dalvik.annotation.TestTargets; |
| import dalvik.annotation.TestLevel; |
| import dalvik.annotation.TestTargetNew; |
| |
| import java.io.Serializable; |
| import java.sql.DataTruncation; |
| import org.apache.harmony.testframework.serialization.SerializationTest; |
| import org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert; |
| |
| import junit.framework.TestCase; |
| |
| @TestTargetClass(DataTruncation.class) |
| public class DataTruncationTest extends TestCase { |
| |
| /* |
| * ConstructorTest |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "DataTruncation", |
| args = {int.class, boolean.class, boolean.class, int.class, int.class} |
| ) |
| public void testDataTruncationintbooleanbooleanintint() { |
| |
| int[] init1 = { -2147483648, 2147483647, 0, 329751502, 318587557, |
| -1217247045, 329474146 }; |
| boolean[] init2 = { false, true, false, false, false, true, false }; |
| boolean[] init3 = { false, true, false, false, false, false, true }; |
| int[] init4 = { -2147483648, 2147483647, 0, 1761409290, -1331044048, |
| -576231606, 661635011 }; |
| int[] init5 = { -2147483648, 2147483647, 0, 540816689, -1890783845, |
| -105552912, -85923935 }; |
| |
| String[] theFinalStates1 = { "01004", "01004", "01004", "01004", |
| "01004", "01004", "01004" }; |
| String state2 = "Data truncation"; |
| String[] theFinalStates2 = { state2, state2, state2, state2, state2, |
| state2, state2 }; |
| int[] theFinalStates3 = { 0, 0, 0, 0, 0, 0, 0 }; |
| int[] theFinalStates4 = init1; |
| int[] theFinalStates5 = init4; |
| int[] theFinalStates6 = init5; |
| boolean[] theFinalStates7 = init2; |
| boolean[] theFinalStates8 = init3; |
| |
| Exception[] theExceptions = { null, null, null, null, null, null, null }; |
| |
| DataTruncation aDataTruncation; |
| int loopCount = init1.length; |
| for (int i = 0; i < loopCount; i++) { |
| try { |
| aDataTruncation = new DataTruncation(init1[i], init2[i], |
| init3[i], init4[i], init5[i]); |
| if (theExceptions[i] != null) { |
| fail(); |
| } |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getSQLState(), theFinalStates1[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getMessage(), theFinalStates2[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getErrorCode(), theFinalStates3[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getIndex(), theFinalStates4[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getDataSize(), theFinalStates5[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getTransferSize(), theFinalStates6[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getParameter(), theFinalStates7[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getRead(), theFinalStates8[i]); |
| |
| } catch (Exception e) { |
| if (theExceptions[i] == null) { |
| fail(i + "Unexpected exception"); |
| } |
| assertEquals(i + "Exception mismatch", e.getClass(), |
| theExceptions[i].getClass()); |
| assertEquals(i + "Exception mismatch", e.getMessage(), |
| theExceptions[i].getMessage()); |
| } // end try |
| } // end for |
| |
| } // end method testDataTruncationintbooleanbooleanintint |
| |
| /* |
| * Method test for getIndex |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getIndex", |
| args = {} |
| ) |
| public void testGetIndex() { |
| |
| DataTruncation aDataTruncation; |
| int[] init1 = { -2147483648, 2147483647, 0, -2045829673, 1977156911, |
| 478985827, 1687271915 }; |
| boolean[] init2 = { false, true, false, false, true, true, true }; |
| boolean[] init3 = { false, true, false, false, true, true, true }; |
| int[] init4 = { -2147483648, 2147483647, 0, -631377748, 21025030, |
| 1215194589, 1064137121 }; |
| int[] init5 = { -2147483648, 2147483647, 0, -897998505, 997578180, |
| 735015866, 264619424 }; |
| |
| int theReturn; |
| int[] theReturns = init1; |
| String[] theFinalStates1 = { "01004", "01004", "01004", "01004", |
| "01004", "01004", "01004" }; |
| String state2 = "Data truncation"; |
| String[] theFinalStates2 = { state2, state2, state2, state2, state2, |
| state2, state2 }; |
| int[] theFinalStates3 = { 0, 0, 0, 0, 0, 0, 0 }; |
| int[] theFinalStates4 = init1; |
| int[] theFinalStates5 = init4; |
| int[] theFinalStates6 = init5; |
| boolean[] theFinalStates7 = init2; |
| boolean[] theFinalStates8 = init3; |
| |
| Exception[] theExceptions = { null, null, null, null, null, null, null }; |
| |
| int loopCount = 1; |
| for (int i = 0; i < loopCount; i++) { |
| try { |
| aDataTruncation = new DataTruncation(init1[i], init2[i], |
| init3[i], init4[i], init5[i]); |
| theReturn = aDataTruncation.getIndex(); |
| if (theExceptions[i] != null) { |
| fail(i + "Exception missed"); |
| } |
| assertEquals(i + "Return value mismatch", theReturn, |
| theReturns[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getSQLState(), theFinalStates1[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getMessage(), theFinalStates2[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getErrorCode(), theFinalStates3[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getIndex(), theFinalStates4[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getDataSize(), theFinalStates5[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getTransferSize(), theFinalStates6[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getParameter(), theFinalStates7[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getRead(), theFinalStates8[i]); |
| |
| } catch (Exception e) { |
| if (theExceptions[i] == null) { |
| fail(i + "Unexpected exception"); |
| } |
| assertEquals(i + "Exception mismatch", e.getClass(), |
| theExceptions[i].getClass()); |
| assertEquals(i + "Exception mismatch", e.getMessage(), |
| theExceptions[i].getMessage()); |
| } // end try |
| } // end for |
| |
| } // end method testGetIndex |
| |
| /* |
| * Method test for getParameter |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getParameter", |
| args = {} |
| ) |
| public void testGetParameter() { |
| |
| DataTruncation aDataTruncation; |
| int[] init1 = { -2147483648, 2147483647, 0, -492314242, 1637665948, |
| -305785075, 258819883 }; |
| boolean[] init2 = { false, true, false, true, true, false, true }; |
| boolean[] init3 = { false, true, false, false, false, true, true }; |
| int[] init4 = { -2147483648, 2147483647, 0, 1134512579, 533874007, |
| 1709608139, 990656593 }; |
| int[] init5 = { -2147483648, 2147483647, 0, -1566784226, -744009101, |
| -444614454, 356465980 }; |
| |
| boolean theReturn; |
| boolean[] theReturns = init2; |
| String[] theFinalStates1 = { "01004", "01004", "01004", "01004", |
| "01004", "01004", "01004" }; |
| String state2 = "Data truncation"; |
| String[] theFinalStates2 = { state2, state2, state2, state2, state2, |
| state2, state2 }; |
| int[] theFinalStates3 = { 0, 0, 0, 0, 0, 0, 0 }; |
| int[] theFinalStates4 = init1; |
| int[] theFinalStates5 = init4; |
| int[] theFinalStates6 = init5; |
| boolean[] theFinalStates7 = init2; |
| boolean[] theFinalStates8 = init3; |
| |
| Exception[] theExceptions = { null, null, null, null, null, null, null }; |
| |
| int loopCount = 1; |
| for (int i = 0; i < loopCount; i++) { |
| try { |
| aDataTruncation = new DataTruncation(init1[i], init2[i], |
| init3[i], init4[i], init5[i]); |
| theReturn = aDataTruncation.getParameter(); |
| if (theExceptions[i] != null) { |
| fail(i + "Exception missed"); |
| } |
| assertEquals(i + "Return value mismatch", theReturn, |
| theReturns[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getSQLState(), theFinalStates1[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getMessage(), theFinalStates2[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getErrorCode(), theFinalStates3[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getIndex(), theFinalStates4[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getDataSize(), theFinalStates5[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getTransferSize(), theFinalStates6[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getParameter(), theFinalStates7[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getRead(), theFinalStates8[i]); |
| |
| } catch (Exception e) { |
| if (theExceptions[i] == null) { |
| fail(i + "Unexpected exception"); |
| } |
| assertEquals(i + "Exception mismatch", e.getClass(), |
| theExceptions[i].getClass()); |
| assertEquals(i + "Exception mismatch", e.getMessage(), |
| theExceptions[i].getMessage()); |
| } // end try |
| } // end for |
| |
| } // end method testGetParameter |
| |
| /* |
| * Method test for getRead |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getRead", |
| args = {} |
| ) |
| public void testGetRead() { |
| |
| DataTruncation aDataTruncation; |
| int[] init1 = { -2147483648, 2147483647, 0, 2092420209, -1695764964, |
| 1832837995, -80199594 }; |
| boolean[] init2 = { false, true, false, false, false, true, true }; |
| boolean[] init3 = { false, true, false, false, true, true, false }; |
| int[] init4 = { -2147483648, 2147483647, 0, 1762375167, -604897453, |
| 1362491587, 1007466498 }; |
| int[] init5 = { -2147483648, 2147483647, 0, 1494407222, -1696982311, |
| -940493360, -1777579868 }; |
| |
| boolean theReturn; |
| boolean[] theReturns = init3; |
| String[] theFinalStates1 = { "01004", "01004", "01004", "01004", |
| "01004", "01004", "01004" }; |
| String state2 = "Data truncation"; |
| String[] theFinalStates2 = { state2, state2, state2, state2, state2, |
| state2, state2 }; |
| int[] theFinalStates3 = { 0, 0, 0, 0, 0, 0, 0 }; |
| int[] theFinalStates4 = init1; |
| int[] theFinalStates5 = init4; |
| int[] theFinalStates6 = init5; |
| boolean[] theFinalStates7 = init2; |
| boolean[] theFinalStates8 = init3; |
| |
| Exception[] theExceptions = { null, null, null, null, null, null, null }; |
| |
| int loopCount = 1; |
| for (int i = 0; i < loopCount; i++) { |
| try { |
| aDataTruncation = new DataTruncation(init1[i], init2[i], |
| init3[i], init4[i], init5[i]); |
| theReturn = aDataTruncation.getRead(); |
| if (theExceptions[i] != null) { |
| fail(i + "Exception missed"); |
| } |
| assertEquals(i + "Return value mismatch", theReturn, |
| theReturns[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getSQLState(), theFinalStates1[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getMessage(), theFinalStates2[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getErrorCode(), theFinalStates3[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getIndex(), theFinalStates4[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getDataSize(), theFinalStates5[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getTransferSize(), theFinalStates6[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getParameter(), theFinalStates7[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getRead(), theFinalStates8[i]); |
| |
| } catch (Exception e) { |
| if (theExceptions[i] == null) { |
| fail(i + "Unexpected exception"); |
| } |
| assertEquals(i + "Exception mismatch", e.getClass(), |
| theExceptions[i].getClass()); |
| assertEquals(i + "Exception mismatch", e.getMessage(), |
| theExceptions[i].getMessage()); |
| } // end try |
| } // end for |
| |
| } // end method testGetRead |
| |
| /* |
| * Method test for getDataSize |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getDataSize", |
| args = {} |
| ) |
| public void testGetDataSize() { |
| |
| DataTruncation aDataTruncation; |
| int[] init1 = { -2147483648, 2147483647, 0, 1146707040, -2020665632, |
| 1268632617, -1595624039 }; |
| boolean[] init2 = { false, true, false, true, false, true, true }; |
| boolean[] init3 = { false, true, false, true, true, false, false }; |
| int[] init4 = { -2147483648, 2147483647, 0, -367493363, 328996907, |
| -1581326731, 835022052 }; |
| int[] init5 = { -2147483648, 2147483647, 0, -886134194, 908213800, |
| 1123419516, -429606389 }; |
| |
| int theReturn; |
| int[] theReturns = init4; |
| String[] theFinalStates1 = { "01004", "01004", "01004", "01004", |
| "01004", "01004", "01004" }; |
| String state2 = "Data truncation"; |
| String[] theFinalStates2 = { state2, state2, state2, state2, state2, |
| state2, state2 }; |
| int[] theFinalStates3 = { 0, 0, 0, 0, 0, 0, 0 }; |
| int[] theFinalStates4 = init1; |
| int[] theFinalStates5 = init4; |
| int[] theFinalStates6 = init5; |
| boolean[] theFinalStates7 = init2; |
| boolean[] theFinalStates8 = init3; |
| |
| Exception[] theExceptions = { null, null, null, null, null, null, null }; |
| |
| int loopCount = 1; |
| for (int i = 0; i < loopCount; i++) { |
| try { |
| aDataTruncation = new DataTruncation(init1[i], init2[i], |
| init3[i], init4[i], init5[i]); |
| theReturn = aDataTruncation.getDataSize(); |
| if (theExceptions[i] != null) { |
| fail(i + "Exception missed"); |
| } |
| assertEquals(i + "Return value mismatch", theReturn, |
| theReturns[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getSQLState(), theFinalStates1[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getMessage(), theFinalStates2[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getErrorCode(), theFinalStates3[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getIndex(), theFinalStates4[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getDataSize(), theFinalStates5[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getTransferSize(), theFinalStates6[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getParameter(), theFinalStates7[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getRead(), theFinalStates8[i]); |
| |
| } catch (Exception e) { |
| if (theExceptions[i] == null) { |
| fail(i + "Unexpected exception"); |
| } |
| assertEquals(i + "Exception mismatch", e.getClass(), |
| theExceptions[i].getClass()); |
| assertEquals(i + "Exception mismatch", e.getMessage(), |
| theExceptions[i].getMessage()); |
| } // end try |
| } // end for |
| |
| } // end method testGetDataSize |
| |
| /* |
| * Method test for getTransferSize |
| */ |
| @TestTargetNew( |
| level = TestLevel.COMPLETE, |
| notes = "", |
| method = "getTransferSize", |
| args = {} |
| ) |
| public void testGetTransferSize() { |
| |
| DataTruncation aDataTruncation; |
| int[] init1 = { -2147483648, 2147483647, 0, 78096124, 1719192600, |
| -1661234694, -1205825753 }; |
| boolean[] init2 = { false, true, false, false, true, false, true }; |
| boolean[] init3 = { false, true, false, false, false, false, false }; |
| int[] init4 = { -2147483648, 2147483647, 0, -493779295, -2042560243, |
| -217347438, 1357818664 }; |
| int[] init5 = { -2147483648, 2147483647, 0, -1647009002, -717544563, |
| -1368171905, -918209633 }; |
| |
| int theReturn; |
| int[] theReturns = init5; |
| String[] theFinalStates1 = { "01004", "01004", "01004", "01004", |
| "01004", "01004", "01004" }; |
| String state2 = "Data truncation"; |
| String[] theFinalStates2 = { state2, state2, state2, state2, state2, |
| state2, state2 }; |
| int[] theFinalStates3 = { 0, 0, 0, 0, 0, 0, 0 }; |
| int[] theFinalStates4 = init1; |
| int[] theFinalStates5 = init4; |
| int[] theFinalStates6 = init5; |
| boolean[] theFinalStates7 = init2; |
| boolean[] theFinalStates8 = init3; |
| |
| Exception[] theExceptions = { null, null, null, null, null, null, null }; |
| |
| int loopCount = 1; |
| for (int i = 0; i < loopCount; i++) { |
| try { |
| aDataTruncation = new DataTruncation(init1[i], init2[i], |
| init3[i], init4[i], init5[i]); |
| theReturn = aDataTruncation.getTransferSize(); |
| if (theExceptions[i] != null) { |
| fail(i + "Exception missed"); |
| } |
| assertEquals(i + "Return value mismatch", theReturn, |
| theReturns[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getSQLState(), theFinalStates1[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getMessage(), theFinalStates2[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getErrorCode(), theFinalStates3[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getIndex(), theFinalStates4[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getDataSize(), theFinalStates5[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getTransferSize(), theFinalStates6[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getParameter(), theFinalStates7[i]); |
| assertEquals(i + " Final state mismatch", aDataTruncation |
| .getRead(), theFinalStates8[i]); |
| |
| } catch (Exception e) { |
| if (theExceptions[i] == null) { |
| fail(i + "Unexpected exception"); |
| } |
| assertEquals(i + "Exception mismatch", e.getClass(), |
| theExceptions[i].getClass()); |
| assertEquals(i + "Exception mismatch", e.getMessage(), |
| theExceptions[i].getMessage()); |
| } // end try |
| } // end for |
| |
| } // end method testGetTransferSize |
| |
| /** |
| * @tests serialization/deserialization compatibility. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Serialization test", |
| method = "!SerializationSelf", |
| args = {} |
| ) |
| public void testSerializationSelf() throws Exception { |
| DataTruncation object = new DataTruncation(10, true, true, 10, 10); |
| SerializationTest.verifySelf(object, DATATRUNCATION_COMPARATOR); |
| } |
| |
| /** |
| * @tests serialization/deserialization compatibility with RI. |
| */ |
| @TestTargetNew( |
| level = TestLevel.PARTIAL, |
| notes = "Serialization test", |
| method = "!SerializationGolden", |
| args = {} |
| ) |
| public void testSerializationCompatibility() throws Exception { |
| DataTruncation object = new DataTruncation(10, true, true, 10, 10); |
| SerializationTest.verifyGolden(this, object, DATATRUNCATION_COMPARATOR); |
| } |
| |
| // comparator for DataTruncation objects |
| private static final SerializableAssert DATATRUNCATION_COMPARATOR = new SerializableAssert() { |
| public void assertDeserialized(Serializable initial, |
| Serializable deserialized) { |
| |
| // do common checks for all throwable objects |
| SerializationTest.THROWABLE_COMPARATOR.assertDeserialized(initial, |
| deserialized); |
| |
| DataTruncation initThr = (DataTruncation) initial; |
| DataTruncation dserThr = (DataTruncation) deserialized; |
| |
| // verify index |
| assertEquals(initThr.getIndex(), dserThr.getIndex()); |
| |
| // verify parameter |
| assertEquals(initThr.getParameter(), dserThr.getParameter()); |
| |
| // verify read |
| assertEquals(initThr.getRead(), dserThr.getRead()); |
| |
| // verify dataSize |
| assertEquals(initThr.getDataSize(), dserThr.getDataSize()); |
| |
| // verify transferSize |
| assertEquals(initThr.getTransferSize(), dserThr.getTransferSize()); |
| } |
| }; |
| |
| } // end class DataTruncationTest |