001    package org.hackystat.telemetry.analyzer.configuration;
002    
003    import junit.framework.TestCase;
004    
005    import org.hackystat.telemetry.analyzer.language.ast.TelemetryReportDefinition;
006    import org.hackystat.telemetry.analyzer.language.parser.TelemetryLanguageParser;
007    import org.hackystat.sensorbase.resource.users.jaxb.User;
008    
009    /**
010     * Test suite for <code>TelemetryReportDefInfo</code>.
011     * 
012     * @author (Cedric) Qin Zhang
013     * @version $Id$
014     */
015    public class TestTelemetryReportDefinitionInfo extends TestCase {
016      
017      private String name = "name";
018      
019    
020      /**
021       * Test case 1.
022       * 
023       * @throws Exception If test fails.
024       */
025      public void testCase1() throws Exception {
026        User user = new User();
027        user.setEmail("TelemetryDefinitions@hackystat.org");
028        ShareScope share = ShareScope.getPrivateShareScope();
029        String defString = "report name(t) = {\"title\", MyChart(t), MyChart2()};";
030    
031        TelemetryReportDefinitionInfo defInfo 
032            = new TelemetryReportDefinitionInfo(defString, user, share);
033        assertEquals(user, defInfo.getOwner());
034        assertEquals(share, defInfo.getShareScope());
035        assertEquals(name, defInfo.getName());
036        assertEquals(defString, defInfo.getDefinitionString());
037    
038        TelemetryReportDefinition def = defInfo.getReportDefinitionObject();
039        assertEquals(name, def.getName());
040        assertEquals("title", def.getTitle());
041      }
042    
043      /**
044       * Test case 2.
045       * 
046       * @throws Exception If test fails.
047       */
048      public void testCase2() throws Exception {
049        User user = null; //UserManager.getInstance().getTestUser();
050        ShareScope share = ShareScope.getPrivateShareScope();
051        String defString = "report name(t) = {\"title\", MyChart(t), MyChart2()};";
052        TelemetryReportDefinition def = TelemetryLanguageParser.parseReportDef(defString);
053        
054        TelemetryReportDefinitionInfo defInfo 
055            = new TelemetryReportDefinitionInfo(def, user, share);    
056        assertEquals(user, defInfo.getOwner());
057        assertEquals(share, defInfo.getShareScope());
058        assertEquals(name, defInfo.getName());
059        assertEquals(defString, defInfo.getDefinitionString());
060    
061    
062        
063        assertSame(def, defInfo.getReportDefinitionObject());
064        assertEquals(name, def.getName());
065        assertEquals("title", def.getTitle());
066      }
067    }