Package eu.planets_project.tb.unittest.model

Source Code of eu.planets_project.tb.unittest.model.ExperimentTest

/*******************************************************************************
* Copyright (c) 2007, 2010 The Planets Project Partners.
*
* All rights reserved. This program and the accompanying
* materials are made available under the terms of the
* Apache License, Version 2.0 which accompanies
* this distribution, and is available at
* http://www.apache.org/licenses/LICENSE-2.0
*
*******************************************************************************/
package eu.planets_project.tb.unittest.model;

import junit.framework.TestCase;
import eu.planets_project.tb.api.TestbedManager;
import eu.planets_project.tb.api.model.Experiment;
import eu.planets_project.tb.api.model.ExperimentPhase;
import eu.planets_project.tb.impl.TestbedManagerImpl;
import eu.planets_project.tb.impl.model.ExperimentApprovalImpl;
import eu.planets_project.tb.impl.model.ExperimentEvaluationImpl;
import eu.planets_project.tb.impl.model.ExperimentExecutionImpl;
import eu.planets_project.tb.impl.model.ExperimentSetupImpl;

public class ExperimentTest extends TestCase{
 
  TestbedManager manager;
  private long expID1, expID2;
 
  protected void setUp(){
    manager = new TestbedManagerImpl();
    //create two new test Experiments
    //ExperimentImpl exp1 = (ExperimentImpl)manager.createNewExperiment();
    //expID1 = exp1.getEntityID();
     
    //ExperimentImpl exp2 = (ExperimentImpl)manager.createNewExperiment();
    //expID2 = exp2.getEntityID();   
 
 
  public void testGetCurrentPhasePointer(){
    Experiment test_exp = manager.getExperiment(this.expID1);
   
    //Test1:
    int iPhase = test_exp.getCurrentPhasePointer();
    //all newly created Experiments are in the stage ExperimentSetup
    assertEquals(Experiment.PHASE_EXPERIMENTSETUP, iPhase);
   
    //Test2:
    test_exp.getExperimentSetup().setState(Experiment.STATE_COMPLETED);
    test_exp.getExperimentApproval().setState(Experiment.STATE_IN_PROGRESS);
    iPhase = test_exp.getCurrentPhasePointer();
    assertEquals(Experiment.PHASE_EXPERIMENTAPPROVAL, iPhase);
   
    //Test3:
    //Note: ExperimentApproval is still IN_PROGRESS
    test_exp.getExperimentExecution().setState(Experiment.STATE_IN_PROGRESS);
    //It's possible to set the state in progress but the currentPhase should point
    //to the last one that's not completed:
    iPhase = test_exp.getCurrentPhasePointer();
    assertEquals(Experiment.PHASE_EXPERIMENTAPPROVAL, iPhase);
  }
 
 
  public void testGetCurrentPhase(){
    Experiment test_exp = manager.getExperiment(this.expID1);

    //Test1:
    ExperimentPhase phase = test_exp.getCurrentPhase();
    assertNotNull(phase);
    assertEquals(Experiment.PHASE_EXPERIMENTSETUP, phase.getPhasePointer());
   
    //Test2:
    test_exp.getExperimentSetup().setState(Experiment.STATE_COMPLETED);
    test_exp.getExperimentApproval().setState(Experiment.STATE_IN_PROGRESS);

    int iPhase = test_exp.getCurrentPhase().getPhasePointer();
    assertEquals(Experiment.PHASE_EXPERIMENTAPPROVAL, iPhase);
   
    //Test3:
    //Note: ExperimentApproval is still IN_PROGRESS
    test_exp.getExperimentExecution().setState(Experiment.STATE_IN_PROGRESS);
    //It's possible to set the state in progress but the currentPhase should point
    //to the last one that's not completed:
    iPhase = test_exp.getCurrentPhase().getPhasePointer();
    assertEquals(Experiment.PHASE_EXPERIMENTAPPROVAL, iPhase);
  }
 
 
  public void testGetCurrentPhaseName(){
    Experiment test_exp = manager.getExperiment(this.expID1);

    //Test1:
    ExperimentPhase phase = test_exp.getCurrentPhase();   
    assertNotNull(phase);
    assertEquals(Experiment.PHASE_EXPERIMENTSETUP, phase.getPhasePointer());
   
    //Test2:
    test_exp.getExperimentSetup().setState(Experiment.STATE_COMPLETED);
    test_exp.getExperimentApproval().setState(Experiment.STATE_IN_PROGRESS);
    int iPhase = test_exp.getCurrentPhase().getPhasePointer();
    assertEquals(Experiment.PHASE_EXPERIMENTAPPROVAL, iPhase);
   
    //Test3:
    //Note: ExperimentApproval is still IN_PROGRESS
    test_exp.getExperimentExecution().setState(Experiment.STATE_IN_PROGRESS);
    //It's possible to set the state in progress but the currentPhase should point
    //to the last one that's not completed:
    iPhase = test_exp.getCurrentPhase().getPhasePointer();
    assertEquals(Experiment.PHASE_EXPERIMENTAPPROVAL, iPhase);
  }
 
  public void testGetExperimentRefInPhase(){
   
    Experiment test_exp = manager.getExperiment(this.expID1);
   
    //Test1:
    assertEquals(test_exp.getEntityID(),((ExperimentSetupImpl)test_exp.getExperimentSetup()).getExperimentRefID());
    assertEquals(test_exp.getEntityID(),((ExperimentApprovalImpl)test_exp.getExperimentApproval()).getExperimentRefID());
    assertEquals(test_exp.getEntityID(),((ExperimentExecutionImpl)test_exp.getExperimentExecution()).getExperimentRefID());
    assertEquals(test_exp.getEntityID(),((ExperimentEvaluationImpl)test_exp.getExperimentEvaluation()).getExperimentRefID());
  }
 
  protected void tearDown(){
    try{
      manager.removeExperiment(this.expID1);
      manager.removeExperiment(this.expID2);
    }
    catch(Exception e){
    }
  }

}
TOP

Related Classes of eu.planets_project.tb.unittest.model.ExperimentTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.