You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2014/04/30 19:13:23 UTC
svn commit: r1591400 - in /sis/branches/JDK8/core/sis-feature: ./
src/main/java/org/apache/sis/feature/ src/test/java/org/
src/test/java/org/apache/ src/test/java/org/apache/sis/
src/test/java/org/apache/sis/feature/ src/test/java/org/apache/sis/test/ ...
Author: desruisseaux
Date: Wed Apr 30 17:13:23 2014
New Revision: 1591400
URL: http://svn.apache.org/r1591400
Log:
Added tests and package javadoc.
Added:
sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/package-info.java (with props)
sis/branches/JDK8/core/sis-feature/src/test/java/org/
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java (with props)
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTest.java (with props)
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java (with props)
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java (with props)
sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/package-info.txt
- copied unchanged from r1590469, sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/test/suite/package-info.txt
Modified:
sis/branches/JDK8/core/sis-feature/pom.xml
sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeature.java
Modified: sis/branches/JDK8/core/sis-feature/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-feature/pom.xml?rev=1591400&r1=1591399&r2=1591400&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-feature/pom.xml (original)
+++ sis/branches/JDK8/core/sis-feature/pom.xml Wed Apr 30 17:13:23 2014
@@ -98,6 +98,19 @@ Representations of geographic features.
<groupId>com.esri.geometry</groupId>
<artifactId>esri-geometry-api</artifactId>
</dependency>
+
+ <!-- Test dependencies -->
+ <dependency>
+ <groupId>org.opengis</groupId>
+ <artifactId>geoapi-conformance</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sis.core</groupId>
+ <artifactId>sis-utility</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeature.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeature.java?rev=1591400&r1=1591399&r2=1591400&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeature.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeature.java [UTF-8] Wed Apr 30 17:13:23 2014
@@ -18,12 +18,16 @@ package org.apache.sis.feature;
import java.util.Map;
import java.util.HashMap;
+import java.util.ConcurrentModificationException;
import java.io.Serializable;
import org.apache.sis.util.Debug;
import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.collection.Containers;
+// Related to JDK7
+import java.util.Objects;
+
/**
* An instance of {@linkplain DefaultFeatureType feature type} containing values for a real-world phenomena.
@@ -42,7 +46,7 @@ public class DefaultFeature implements S
private static final long serialVersionUID = 6594295132544357870L;
/**
- * Information about the feature.
+ * Information about the feature (name, characteristics, <i>etc.</i>).
*/
private final DefaultFeatureType type;
@@ -54,7 +58,7 @@ public class DefaultFeature implements S
/**
* Creates a new features.
*
- * @param type Information about the feature.
+ * @param type Information about the feature (name, characteristics, <i>etc.</i>).
*/
public DefaultFeature(final DefaultFeatureType type) {
ArgumentChecks.ensureNonNull("type", type);
@@ -63,6 +67,15 @@ public class DefaultFeature implements S
}
/**
+ * Returns information about the feature (name, characteristics, <i>etc.</i>).
+ *
+ * @return Information about the feature.
+ */
+ public DefaultFeatureType getType() {
+ return type;
+ }
+
+ /**
* Returns the value of the attribute of the given name.
*
* @param name The attribute name.
@@ -70,7 +83,14 @@ public class DefaultFeature implements S
*/
public Object getAttributeValue(final String name) {
final DefaultAttribute<?> attribute = properties.get(name);
- return (attribute != null) ? attribute.getValue() : null;
+ if (attribute == null) {
+ final DefaultAttributeType<?> at = type.getProperty(name);
+ if (at == null) {
+ throw new IllegalArgumentException(propertyNotFound(name));
+ }
+ return at.getDefaultValue();
+ }
+ return attribute.getValue();
}
/**
@@ -83,20 +103,30 @@ public class DefaultFeature implements S
public void setAttributeValue(final String name, final Object value) {
DefaultAttribute<?> attribute = properties.get(name);
if (attribute == null) {
- if (value == null) {
- return;
- }
final DefaultAttributeType<?> at = type.getProperty(name);
if (at == null) {
- throw new IllegalArgumentException(Errors.format(Errors.Keys.PropertyNotFound_2, type.getName(), name));
+ throw new IllegalArgumentException(propertyNotFound(name));
+ }
+ if (Objects.equals(value, at.getDefaultValue())) {
+ return; // Avoid creating the attribute if not necessary.
}
attribute = new DefaultAttribute<>(at);
+ if (properties.put(name, attribute) != null) {
+ throw new ConcurrentModificationException();
+ }
}
ArgumentChecks.ensureCanCast(name, attribute.getType().getValueClass(), value);
((DefaultAttribute) attribute).setValue(value);
}
/**
+ * Returns the error message for a property not found.
+ */
+ private String propertyNotFound(final String name) {
+ return Errors.format(Errors.Keys.PropertyNotFound_2, type.getName(), name);
+ }
+
+ /**
* Returns a hash code value for this feature.
*
* @return A hash code value.
Added: sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/package-info.java?rev=1591400&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/package-info.java (added)
+++ sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/package-info.java [UTF-8] Wed Apr 30 17:13:23 2014
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+/**
+ * Defines the structure and content of views of real-world phenomenon.
+ * The phenomenon to represent (or a fundamental unit of information) is called <cite>a feature</cite>.
+ * The term “feature” may be used in different contexts:
+ *
+ * <ul>
+ * <li>{@linkplain org.apache.sis.feature.DefaultFeatureType Feature types} define the <em>structure</em> of a
+ * real-world representation. A feature type lists the attributes, operations, or associations to other
+ * features (collectively called “properties”) that a feature can have.
+ *
+ * <div class="note"><b>Note:</b> a {@code FeatureType} in a Spatial Information System is equivalent to a
+ * {@link java.lang.Class} in the Java language. By extension, {@code AttributeType} and {@code OperationType}
+ * are equivalent to {@link java.lang.reflect.Field} and {@link java.lang.reflect.Method} respectively.</div></li>
+ *
+ * <li>{@linkplain org.apache.sis.feature.DefaultFeature Feature instances} holds the <em>content</em> (or values)
+ * that describe one specific real-world object. For example the “Eiffel tower” is a feature <em>instance</em>
+ * belonging to the “Tower” feature <em>type</em>.
+ *
+ * <div class="note"><b>Note:</b> feature instances are often called only {@code Feature}s.</div></li>
+ * </ul>
+ *
+ * @author Travis L. Pinney
+ * @author Johann Sorel (Geomatys)
+ * @author Martin Desruisseaux (Geomatys)
+ * @since 0.5
+ * @version 0.5
+ * @module
+ */
+package org.apache.sis.feature;
Propchange: sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/package-info.java
------------------------------------------------------------------------------
svn:mime-type = text/plain;charset=UTF-8
Added: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java?rev=1591400&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java (added)
+++ sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java [UTF-8] Wed Apr 30 17:13:23 2014
@@ -0,0 +1,92 @@
+/*
+ * 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.sis.feature;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Locale;
+import org.opengis.util.LocalName;
+import org.opengis.util.GenericName;
+import org.opengis.util.InternationalString;
+import org.apache.sis.measure.NumberRange;
+import org.apache.sis.test.TestCase;
+import org.junit.Test;
+
+import static org.opengis.test.Assert.*;
+
+
+/**
+ * Tests {@link DefaultAttributeType}.
+ *
+ * @author Martin Desruisseaux (Geomatys)
+ * @since 0.5
+ * @version 0.5
+ * @module
+ */
+public final strictfp class DefaultAttributeTypeTest extends TestCase {
+ /**
+ * Creates an attribute type for city name.
+ *
+ * @param properties An empty temporary map (provided only for recycling existing instances).
+ */
+ static DefaultAttributeType<String> city(final Map<String,Object> properties) {
+ assertNull(properties.put(DefaultAttributeType.NAME_KEY, "city"));
+ assertNull(properties.put(DefaultAttributeType.DESIGNATION_KEY + "_en", "City"));
+ assertNull(properties.put(DefaultAttributeType.DESIGNATION_KEY + "_fr", "Ville"));
+ assertNull(properties.put(DefaultAttributeType.DESIGNATION_KEY + "_ja", "都市"));
+ assertNull(properties.put(DefaultAttributeType.DEFINITION_KEY + "_en", "The name of the city."));
+ assertNull(properties.put(DefaultAttributeType.DEFINITION_KEY + "_fr", "Le nom de la ville."));
+ assertNull(properties.put(DefaultAttributeType.DEFINITION_KEY + "_ja", "都市の名前。"));
+ assertNull(properties.put(DefaultAttributeType.DESCRIPTION_KEY, "Some verbose description."));
+ final DefaultAttributeType<String> city = new DefaultAttributeType<>(properties,
+ String.class, "Utopia", NumberRange.create(1, true, 1, true));
+ properties.clear();
+ return city;
+ }
+
+ /**
+ * Tests the creation of a simple {@link DefaultAttributeType} instance for a mandatory singleton.
+ */
+ @Test
+ public void testMandatorySingleton() {
+ final DefaultAttributeType<String> city = city(new HashMap<>());
+ final GenericName name = city.getName();
+ assertInstanceOf("city.name", LocalName.class, name);
+ assertEquals("city.name", "city", name.toString());
+
+ InternationalString p = city.getDesignation();
+ assertNotNull("designation", p);
+ assertEquals("designation", "City", p.toString(Locale.ENGLISH));
+ assertEquals("designation", "Ville", p.toString(Locale.FRENCH));
+ assertEquals("designation", "都市", p.toString(Locale.JAPANESE));
+
+ p = city.getDefinition();
+ assertEquals("definition", "The name of the city.", p.toString(Locale.ENGLISH));
+ assertEquals("definition", "Le nom de la ville.", p.toString(Locale.FRENCH));
+ assertEquals("definition", "都市の名前。", p.toString(Locale.JAPANESE));
+
+ p = city.getDescription();
+ assertEquals("description", "Some verbose description.", p.toString(Locale.ENGLISH));
+ assertEquals("valueClass", String.class, city.getValueClass());
+ assertEquals("defaultValue", "Utopia", city.getDefaultValue());
+
+ final NumberRange<Integer> cardinality = city.getCardinality();
+ assertNotNull("cardinality", cardinality);
+ assertEquals("cardinality.minValue", Integer.valueOf(1), cardinality.getMinValue());
+ assertEquals("cardinality.maxValue", Integer.valueOf(1), cardinality.getMaxValue());
+ }
+}
Propchange: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain;charset=UTF-8
Added: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTest.java?rev=1591400&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTest.java (added)
+++ sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTest.java [UTF-8] Wed Apr 30 17:13:23 2014
@@ -0,0 +1,51 @@
+/*
+ * 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.sis.feature;
+
+import org.apache.sis.test.DependsOn;
+import org.apache.sis.test.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+
+/**
+ * Tests {@link DefaultFeature}.
+ *
+ * @author Martin Desruisseaux (Geomatys)
+ * @since 0.5
+ * @version 0.5
+ * @module
+ */
+@DependsOn(DefaultFeatureTypeTest.class)
+public final strictfp class DefaultFeatureTest extends TestCase {
+ /**
+ * Tests the construction of a simple feature without super-types.
+ */
+ @Test
+ public void testSimple() {
+ final DefaultFeature simple = new DefaultFeature(DefaultFeatureTypeTest.simple());
+
+ assertEquals("Utopia", simple.getAttributeValue("city"));
+ simple.setAttributeValue("city", "Atlantide");
+ assertEquals("Atlantide", simple.getAttributeValue("city"));
+
+ assertNull(simple.getAttributeValue("population"));
+ simple.setAttributeValue("population", 1000);
+ assertEquals(1000, simple.getAttributeValue("population"));
+ }
+}
Propchange: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain;charset=UTF-8
Added: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java?rev=1591400&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java (added)
+++ sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java [UTF-8] Wed Apr 30 17:13:23 2014
@@ -0,0 +1,104 @@
+/*
+ * 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.sis.feature;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.List;
+import org.apache.sis.measure.NumberRange;
+import org.apache.sis.test.DependsOnMethod;
+import org.apache.sis.test.DependsOn;
+import org.apache.sis.test.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+import static java.util.Collections.singletonMap;
+
+
+/**
+ * Tests {@link DefaultFeatureType}.
+ *
+ * @author Martin Desruisseaux (Geomatys)
+ * @since 0.5
+ * @version 0.5
+ * @module
+ */
+@DependsOn(DefaultAttributeTypeTest.class)
+public final strictfp class DefaultFeatureTypeTest extends TestCase {
+ /**
+ * Creates a simple feature type without super-types.
+ */
+ static DefaultFeatureType simple() {
+ final Map<String,Object> properties = new HashMap<>();
+ final DefaultAttributeType<String> city = DefaultAttributeTypeTest.city(properties);
+
+ properties.clear();
+ assertNull(properties.put(DefaultAttributeType.NAME_KEY, "population"));
+ final DefaultAttributeType<Integer> population = new DefaultAttributeType<>(
+ properties, Integer.class, null, NumberRange.create(1, true, 1, true));
+
+ properties.clear();
+ assertNull(properties.put(DefaultAttributeType.NAME_KEY, "City population"));
+ return new DefaultFeatureType(properties, false, null, city, population);
+ }
+
+ /**
+ * Tests the construction of a simple feature without super-types.
+ */
+ @Test
+ public void testSimple() {
+ final DefaultFeatureType simple = simple();
+ assertEquals("name", "City population", simple.getName().toString());
+ /*
+ * Verify content.
+ */
+ final List<DefaultAttributeType<?>> characteristics = simple.getCharacteristics();
+ assertEquals("characteristics.size", 2, characteristics.size());
+ assertEquals("characteristics[0]", "city", characteristics.get(0).getName().toString());
+ assertEquals("characteristics[1]", "population", characteristics.get(1).getName().toString());
+ /*
+ * Verify search by name.
+ */
+ assertSame(characteristics.get(0), simple.getProperty("city"));
+ assertSame(characteristics.get(1), simple.getProperty("population"));
+ assertNull(simple.getProperty("apple"));
+ }
+
+ /**
+ * Ensures that we can not use two property with the same name.
+ */
+ @Test
+ @DependsOnMethod("testSimple")
+ public void testNameCollision() {
+ final NumberRange<Integer> cardinality = NumberRange.create(1, true, 1, true);
+ final DefaultAttributeType<String> city = new DefaultAttributeType<>(
+ singletonMap(DefaultAttributeType.NAME_KEY, "city"), String.class, null, cardinality);
+ final DefaultAttributeType<Integer> cityId = new DefaultAttributeType<>(
+ singletonMap(DefaultAttributeType.NAME_KEY, "city"), Integer.class, null, cardinality);
+ final DefaultAttributeType<Integer> population = new DefaultAttributeType<>(
+ singletonMap(DefaultAttributeType.NAME_KEY, "population"), Integer.class, null, cardinality);
+
+ final Map<String,String> properties = singletonMap(DefaultAttributeType.NAME_KEY, "City population");
+ try {
+ new DefaultFeatureType(properties, false, null, city, population, cityId);
+ fail("Duplicated attribute names shall not be allowed.");
+ } catch (IllegalArgumentException e) {
+ final String message = e.getMessage();
+ assertTrue(message, message.contains("city"));
+ }
+ }
+}
Propchange: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain;charset=UTF-8
Added: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java?rev=1591400&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java (added)
+++ sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java [UTF-8] Wed Apr 30 17:13:23 2014
@@ -0,0 +1,47 @@
+/*
+ * 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.sis.test.suite;
+
+import org.apache.sis.test.TestSuite;
+import org.junit.runners.Suite;
+import org.junit.BeforeClass;
+
+
+/**
+ * All tests from the {@code sis-feature} module, in approximative dependency order.
+ *
+ * @author Martin Desruisseaux (Geomatys)
+ * @since 0.5
+ * @version 0.5
+ * @module
+ */
+@Suite.SuiteClasses({
+ org.apache.sis.feature.DefaultAttributeTypeTest.class,
+ org.apache.sis.feature.DefaultFeatureTypeTest.class,
+ org.apache.sis.feature.DefaultFeatureTest.class
+})
+public final strictfp class FeatureTestSuite extends TestSuite {
+ /**
+ * Verifies the list of tests before to run the suite.
+ * See {@link #verifyTestList(Class, Class[])} for more information.
+ */
+ @BeforeClass
+ public static void verifyTestList() {
+ assertNoMissingTest(FeatureTestSuite.class);
+ verifyTestList(FeatureTestSuite.class);
+ }
+}
Propchange: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java
------------------------------------------------------------------------------
svn:mime-type = text/plain;charset=UTF-8