@Test public void testEmptyFeatureVector() { Config config = ConfigFactory.parseString(makeConfig()); Transform transform = TransformFactory.createTransform(config, "test_cut"); FeatureVector featureVector = new FeatureVector(); transform.doTransform(featureVector); assertTrue(featureVector.getStringFeatures() == null); }
@Override public void configure(Config config, String key) { transforms = new ArrayList<>(); List<String> transformKeys = config.getStringList(key + ".transforms"); for (String transformKey : transformKeys) { Transform tmpTransform = TransformFactory.createTransform(config, transformKey); if (tmpTransform != null) { transforms.add(tmpTransform); } } }
@Test public void testTransformLowerBoundOnly() { Config config = ConfigFactory.parseString(makeConfigWithLowerBoundOnly()); Transform transform = TransformFactory.createTransform(config, "test_cut"); FeatureVector featureVector = TransformTestingHelper.makeFeatureVector(); transform.doTransform(featureVector); Map<String, Set<String>> stringFeatures = featureVector.getStringFeatures(); assertTrue(stringFeatures.size() == 1); Map<String, Double> feat1 = featureVector.getFloatFeatures().get("loc"); assertEquals(2, feat1.size()); assertEquals(37.7, feat1.get("lat"), 0.1); assertEquals(40.0, feat1.get("long"), 0.1); assertNull(feat1.get("z")); }
@Test public void testTransformWithNewOutput() { Config config = ConfigFactory.parseString(makeConfigWithOutput()); Transform transform = TransformFactory.createTransform(config, "test_cut"); FeatureVector featureVector = TransformTestingHelper.makeFeatureVector(); transform.doTransform(featureVector); Map<String, Set<String>> stringFeatures = featureVector.getStringFeatures(); assertTrue(stringFeatures.size() == 1); // original feature should not change Map<String, Double> feat1 = featureVector.getFloatFeatures().get("loc"); assertEquals(3, feat1.size()); assertEquals(37.7, feat1.get("lat"), 0.1); assertEquals(40.0, feat1.get("long"), 0.1); assertEquals(-20, feat1.get("z"), 0.1); // capped features are in a new feature family assertTrue(featureVector.getFloatFeatures().containsKey("new_output")); Map<String, Double> feat2 = featureVector.getFloatFeatures().get("new_output"); assertEquals(1, feat2.size()); assertEquals(37.7, feat2.get("lat"), 0.1); assertNull(feat2.get("long")); assertNull(feat2.get("z")); }