package org.geotools.data.sqlserver; import org.geotools.jdbc.JDBCViewOnlineTest; import org.geotools.jdbc.JDBCViewTestSetup; import org.opengis.feature.type.AttributeDescriptor; import org.opengis.feature.type.AttributeType; import com.vividsolutions.jts.geom.Geometry; public class SQLServerViewOnlineTest extends JDBCViewOnlineTest { @Override protected JDBCViewTestSetup createTestSetup() { return new SQLServerViewTestSetup(); } /** * Override since sql server metadata over nullability over views works differently than in other databases */ protected void assertAttributesEqual(AttributeDescriptor expected, AttributeDescriptor actual) { assertEquals(aname(expected.getName()), actual.getName()); // assertEquals(expected.getMinOccurs(), actual.getMinOccurs()); assertEquals(expected.getMaxOccurs(), actual.getMaxOccurs()); // assertEquals(expected.isNillable(), actual.isNillable()); assertEquals(expected.getDefaultValue(), actual.getDefaultValue()); AttributeType texpected = expected.getType(); AttributeType tactual = actual.getType(); if ( Number.class.isAssignableFrom( texpected.getBinding() ) ) { assertTrue( Number.class.isAssignableFrom( tactual.getBinding() ) ); } else if ( Geometry.class.isAssignableFrom( texpected.getBinding())) { assertTrue( Geometry.class.isAssignableFrom( tactual.getBinding())); } else { assertTrue(texpected.getBinding().isAssignableFrom(tactual.getBinding())); } } }