@Test public void testExtractFeaturesGeneratesNoFeatureWithNullFeature() { ContourCenterOfGravityFeatureExtractor ccogfe = new ContourCenterOfGravityFeatureExtractor("attr"); List<Region> regions = new ArrayList<Region>(); Region r = new Region(0.0, 0.0, "test"); regions.add(r); try { ccogfe.extractFeatures(regions); assertFalse(r.hasAttribute("attr__cog")); } catch (FeatureExtractorException e) { fail(); } }
@Test public void testExtractFeaturesExtractsFeatures() { ContourCenterOfGravityFeatureExtractor ccogfe = new ContourCenterOfGravityFeatureExtractor("attr"); List<Region> regions = new ArrayList<Region>(); Region r = new Region(0.0, 1.0, "test"); regions.add(r); r.setAttribute("attr", new Contour(0, .1, new double[] {0.0, 0.0, 1.0, 2.0})); try { ccogfe.extractFeatures(regions); assertTrue(r.hasAttribute("cog[attr]")); } catch (FeatureExtractorException e) { fail(); } }
@Test public void testExtractFeaturesCorrectlyExtractsFeatures() { ContourCenterOfGravityFeatureExtractor ccogfe = new ContourCenterOfGravityFeatureExtractor("attr"); List<Region> regions = new ArrayList<Region>(); Region r = new Region(0.0, 3.0, "test"); regions.add(r); r.setAttribute("attr", new Contour(0, 1, new double[] {0.0, 0.0, 1.0, 2.0})); try { ccogfe.extractFeatures(regions); assertEquals(0.88888, (Double) r.getAttribute("cog[attr]"), 0.00001); } catch (FeatureExtractorException e) { fail(); } }