/* * Copyright © 2003-2009 Israfil Consulting Services Corporation * Copyright © 2003-2009 Christian Edward Gruber * All Rights Reserved * * This software is licensed under the Berkeley Standard Distribution license, * (BSD license), as defined below: * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of Israfil Consulting Services nor the names of its contributors * may be used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * $Id: MockResultSetMetaDataTest.java 130 2006-12-31 23:22:17Z cgruber $ */ package net.israfil.foundation.mock.sql; import java.sql.SQLException; import net.israfil.foundation.mock.sql.MockResultSetMetaData.ColSpec; import net.israfil.foundation.mock.sql.MockResultSetMetaData.DBType; import org.testng.Assert; import org.testng.annotations.Test; /** * * @author Christian Edward Gruber * @author Latest: $Author: cgruber $ * @version $Revision: 130 $ */ public class MockResultSetMetaDataTest { public MockResultSetMetaDataTest() { super(); } @Test public void testResultSetMetaDataCreation() throws SQLException { String colA = "colA", colB = "colB", colC = "colC"; String[] cols = { colA, colB, colC }; MockResultSetMetaData rsmd = new MockResultSetMetaData(cols); Assert.assertEquals(3,rsmd.getColumnCount()); Assert.assertEquals(colA,rsmd.getColumnName(1)); Assert.assertEquals(colB,rsmd.getColumnName(2)); Assert.assertEquals(colC,rsmd.getColumnName(3)); } @Test public void testResultSetMetaDataColumnReferencing() throws SQLException { String colA = "colA", colB = "colB", colC = "colC"; String[] cols = { colA, colB, colC }; MockResultSetMetaData rsmd = new MockResultSetMetaData(cols); Assert.assertEquals(3,rsmd.getColumnCount()); Assert.assertEquals(colA,rsmd.getColumnName(1)); Assert.assertEquals(colB,rsmd.getColumnName(2)); Assert.assertEquals(colC,rsmd.getColumnName(3)); Assert.assertEquals(1,rsmd.getColumnNumber(colA)); Assert.assertEquals(2,rsmd.getColumnNumber(colB)); Assert.assertEquals(3,rsmd.getColumnNumber(colC)); } @Test public void testResultSetMetaDataCreationWithColDefs() throws SQLException { ColSpec colA = new ColSpec("colA", DBType.STRING, 12 ); ColSpec colB = new ColSpec("colB", DBType.INTEGER, 5, 0 ); ColSpec colC = new ColSpec("colC", DBType.DECIMAL, 3, 5, false); ColSpec colD = new ColSpec("colD", DBType.STRING, 4, false); ColSpec[] cols = { colA, colB, colC, colD }; MockResultSetMetaData rsmd = new MockResultSetMetaData(cols); Assert.assertEquals(4,rsmd.getColumnCount()); Assert.assertEquals(colA.name,rsmd.getColumnName(1)); Assert.assertEquals(colB.name,rsmd.getColumnName(2)); Assert.assertEquals(colC.name,rsmd.getColumnName(3)); Assert.assertEquals(colD.name,rsmd.getColumnName(4)); Assert.assertEquals(colA.type.sqltype,rsmd.getColumnType(1)); Assert.assertEquals(colB.type.sqltype,rsmd.getColumnType(2)); Assert.assertEquals(colC.type.sqltype,rsmd.getColumnType(3)); Assert.assertEquals(colD.type.sqltype,rsmd.getColumnType(4)); Assert.assertEquals(colA.width,rsmd.getColumnDisplaySize(1)); Assert.assertEquals(colB.precision,rsmd.getPrecision(2)); Assert.assertEquals(colB.scale,rsmd.getScale(2)); Assert.assertEquals(colC.precision,rsmd.getPrecision(3)); Assert.assertEquals(colC.scale,rsmd.getScale(3)); Assert.assertEquals(colD.width,rsmd.getColumnDisplaySize(4)); } }