package edu.cmu.sphinx.util.props; import java.io.File; import java.io.IOException; import org.testng.Assert; import org.testng.annotations.Test; import edu.cmu.sphinx.frontend.DataProcessor; import edu.cmu.sphinx.frontend.DoubleData; import edu.cmu.sphinx.frontend.FrontEnd; import edu.cmu.sphinx.instrumentation.AccuracyTracker; import edu.cmu.sphinx.instrumentation.BestPathAccuracyTracker; import edu.cmu.sphinx.util.props.Configurable; import edu.cmu.sphinx.util.props.ConfigurationManager; import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; /** Some unit-tests for the ConfigurationManagerUtils. */ public class CMUTests { @Test public void testClassTesting() { Assert.assertTrue(ConfigurationManagerUtils.isImplementingInterface(FrontEnd.class, DataProcessor.class)); Assert.assertTrue(ConfigurationManagerUtils.isImplementingInterface(DataProcessor.class, Configurable.class)); Assert.assertFalse(ConfigurationManagerUtils.isImplementingInterface(Configurable.class, Configurable.class)); Assert.assertFalse(ConfigurationManagerUtils.isSubClass(Configurable.class, Configurable.class)); Assert.assertTrue(ConfigurationManagerUtils.isSubClass(Integer.class, Object.class)); Assert.assertFalse(ConfigurationManagerUtils.isSubClass(Object.class, Object.class)); Assert.assertTrue(ConfigurationManagerUtils.isSubClass(BestPathAccuracyTracker.class, AccuracyTracker.class)); Assert.assertTrue(ConfigurationManagerUtils.isDerivedClass(BestPathAccuracyTracker.class, AccuracyTracker.class)); Assert.assertTrue(ConfigurationManagerUtils.isDerivedClass(BestPathAccuracyTracker.class, BestPathAccuracyTracker.class)); Assert.assertTrue(!ConfigurationManagerUtils.isDerivedClass(BestPathAccuracyTracker.class, DoubleData.class)); } @Test public void setComponentPropertyTest() throws IOException { File configFile = new File("src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.testconfig.sxl"); ConfigurationManager cm = new ConfigurationManager(configFile.toURI().toURL()); int newBeamWidth = 4711; ConfigurationManagerUtils.setProperty(cm, "beamWidth", String.valueOf(newBeamWidth)); DummyComp dummyComp = (DummyComp) cm.lookup("duco"); Assert.assertEquals(newBeamWidth, dummyComp.getBeamWidth()); } }