001    package org.hackystat.telemetry.analyzer.reducer;
002    
003    import static org.junit.Assert.assertSame;
004    import static org.junit.Assert.assertTrue;
005    
006    import java.util.Collection;
007    
008    import org.junit.Test;
009    
010    /**
011     * Test suite for TelemetryReducerManager.
012     * 
013     * @author (Cedric) Qin Zhang, Philip Johnson
014     */
015    public class TestTelemetryReducerManager {
016    
017      /** How many stock reducer implementations do you have? */
018      private static final int numberOfStockReducer = 0;
019    
020      /**
021       * Tests that built-in reducers can be found and defined.
022       * 
023       * @throws Exception If test fails.
024       */
025      @Test
026      public void testFramework() throws Exception {
027        TelemetryReducerManager manager = TelemetryReducerManager.getInstance();
028        Collection<TelemetryReducerInfo> reducerInfo = manager.getAllReducerInfo();
029        assertTrue(reducerInfo.size() >= TestTelemetryReducerManager.numberOfStockReducer);
030    
031        for (TelemetryReducerInfo theReducer : reducerInfo) {
032          assertSame("Checking num reducers", theReducer, manager.getReducerInfo(theReducer.getName()));
033          assertTrue("Checking that manager exists", manager.isReducer(theReducer.getName()));
034        }
035      }
036    }