Examples of TCGTransition


Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

  public static TCGTransition copyTransitionValuesToNewTransition(
      TestCaseGraphHelper in_oTCGHelper,
      TCGTransition in_oOriginalTransition,
      TCGNode in_oNewSourceNode,
      TCGNode in_oNewTargetNode) throws Exception {
    TCGTransition oTransitionCopy = in_oTCGHelper.addTransition(
        in_oNewSourceNode, in_oNewTargetNode);
   
    oTransitionCopy.setCanBeProcessed(in_oOriginalTransition.isCanBeProcessed());
    oTransitionCopy.setContainer(in_oOriginalTransition.getContainer());
    oTransitionCopy.setName(in_oOriginalTransition.getName());
    oTransitionCopy.setPostcondition(
        TCGDisjunctiveNormalFormHelperClass.copyDNFDeep(
            in_oOriginalTransition.getPostcondition()));
    oTransitionCopy.setPrecondition(
        TCGDisjunctiveNormalFormHelperClass.copyDNFDeep(
            in_oOriginalTransition.getPrecondition()));
    oTransitionCopy.getEvents().addAll(in_oOriginalTransition.getEvents());
   
    return oTransitionCopy;
  }
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

        oReferencedParameter = ((org.eclipse.ocl.uml.Variable)oReferenceAtomReference).getRepresentedParameter();
      }
      if(oReferenceAtomReference instanceof org.eclipse.uml2.uml.Property) {
        // nothing
      }
      TCGTransition oTraversedTransition = in_oTransitionInstance.getTransition();
      List<Parameter> colMatchedEventParameters = new ArrayList<Parameter>();
      colMatchedEventParameters.add(oReferencedParameter);
      if(oTraversedTransition != null) {
        colMatchedEventParameters.addAll(
          TCGEventHelperClass.getEventParameters(oReferencedParameter, oTraversedTransition));
      }       
      if(colMatchedEventParameters.contains(in_oParameter.getReference()))
        return in_oParameter;
//        TCGEventHelperClass.getMapExprParamToEventParam().get(oReferencedParameter);
//      if((oMatchedEventParameter != null &&
//          in_oParameter.getReference().equals(oMatchedEventParameter)) ||
//          (oReferencedParameter != null &&
//          in_oParameter.getReference().equals(oReferencedParameter)))
//        return in_oParameter;
    }
    else if(in_oParameter instanceof TCGComplexParameter) {
      TCGComplexParameter oComplexParameter = (TCGComplexParameter)in_oParameter;
      for(TCGParameter oSubParameter : oComplexParameter.getParameter())
      {
        TCGParameter oFoundParameter = findParameterElementMatchingToReference(
            oSubParameter, in_oTransitionInstance, in_oReference);
        if(oFoundParameter != null)
          return oFoundParameter;
      }
    }
    else {
      if(in_oReference instanceof Parameter) {
        Parameter oReferencedParameter = (Parameter)in_oReference;
        TCGTransition oTraversedTransition = in_oTransitionInstance.getTransition();
        List<Parameter> colMatchedEventParameters = new ArrayList<Parameter>();
        colMatchedEventParameters.add(oReferencedParameter);
        if(oTraversedTransition != null) {
          colMatchedEventParameters.addAll(
            TCGEventHelperClass.getEventParameters(oReferencedParameter, oTraversedTransition));
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

    return type.getName();
  }

  private static void generateTestCase(Witness witness) {
    for (Pair<TCGTransition, TCGNode> pair : witness.getAssociatedPath()) {
      TCGTransition oTran = pair.getFirst();
     
      //moderate pre conditions
      if(!oTran.getPreconditions().isEmpty()){
        for (TCGDisjunctiveNormalForm oPre : oTran.getPreconditions()) {
          if(!oPre.getConjunctions().isEmpty()){
            if(oPre.getOriginalExpression() instanceof TCGOCLOperationImpl){
              TCGOCLOperation oTCGOCLOperation = ((TCGOCLOperation) oPre.getOriginalExpression());
              if(oTCGOCLOperation.getRight() != null && oTCGOCLOperation.getOperationName().equals("=")){ 
                sb.append("      assertEquals(" + ConvertTCGOCLExpressionToString.constraintVisitor(oTCGOCLOperation.getLeft()) + ","+
                     ConvertTCGOCLExpressionToString.constraintVisitor(oTCGOCLOperation.getRight())+");\n");
              }
              else
                sb.append("      assertEquals(true, " + ConvertTCGOCLExpressionToString.constraintVisitor(oPre.getOriginalExpression()) + ");\n");
            }
            else
              sb.append("      assertEquals(true, " + ConvertTCGOCLExpressionToString.constraintVisitor(oPre.getOriginalExpression()) + ");\n");
          }
        }       
      }
      //moderate events
      if(!oTran.getEvents().isEmpty()){
        for (TCGEvent oEvent : oTran.getEvents()) {   
          if(!oEvent.isDefaultEvent() || (Configuration.getPrintDefaultEvents() == true)){
            sb.append("      oTestObject."+ Configuration.getHandleEventFunctionName() +"(\"" + oEvent.getName() +"\"");
            for (TCGParameter oPar : oEvent.getParameters()) {
              sb.append(",");
              sb.append(oPar.getName());
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

    Map<TCGTransition, Set<Integer>> amplPathForPost = new HashMap<TCGTransition, Set<Integer>>();
    Map<TCGNode, Set<Integer>> amplPathForStateInv = new HashMap<TCGNode, Set<Integer>>();
   
    int pathLength = 0;
    for(Pair<TCGTransition, TCGNode> oPair : path){
      TCGTransition oTran = oPair.getFirst();
      //pre conditions
      if(oTran.getPrecondition() != null && !oTran.getPrecondition().getConjunctions().isEmpty()){
        Set<Integer> places = null;
        if (amplPathForPre.containsKey(oTran))
          places = amplPathForPre.get(oTran);
        if (places == null)
          places = new HashSet<Integer>();
        places.add(new Integer(pathLength));
        amplPathForPre.put(oTran, places);
      }   
      //post conditions
      if(oTran.getPostcondition() != null && !oTran.getPostcondition().getConjunctions().isEmpty()){
        pathLength++;
        Set<Integer> places = null;
        if (amplPathForPost.containsKey(oTran))
          places = amplPathForPost.get(oTran);
        if (places == null)
          places = new HashSet<Integer>();
        places.add(new Integer(pathLength));
        amplPathForPost.put(oTran, places);
      }
      //state invariant
      TCGNode oNode = oPair.getSecond();
      if(oNode instanceof TCGRealNode){
        TCGRealNode oRealNode = (TCGRealNode) oNode;
        if(oRealNode.getCondition() != null && !oRealNode.getCondition().getConjunctions().isEmpty()){
          if(oRealNode.getCondition().getOriginalExpression() != null){           
            Set<Integer> places = null;
            if (amplPathForStateInv.containsKey(oRealNode))
              places = amplPathForStateInv.get(oRealNode);
            if (places == null)
              places = new HashSet<Integer>();
            places.add(new Integer(pathLength));
            amplPathForStateInv.put(oRealNode, places);           
          }
        }
      }
     
    }

    StringBuilder sb = new StringBuilder();
    sb.append("param Pathlength := " + pathLength + ";\n");

    //set initial value for which model variables that have initial value
    //sb.append(setInitialValueOfVariables(allModelVariables));
   
    //for pre conditions
    for (Entry<TCGTransition, Set<Integer>> entry : amplPathForPre
        .entrySet()) {
      TCGTransition oTransition = entry.getKey();     
      String s = oTransition.getPreSetName();
      String substitute = s.replaceAll("\\s", "_");     
      sb.append("set " + substitute
          + ":=");
      for (Integer j : entry.getValue()) {
        sb.append(" " + j);
      }
      sb.append(";\n");
    }
    //for post conditions
    for (Entry<TCGTransition, Set<Integer>> entry : amplPathForPost
        .entrySet()) {
      TCGTransition oTransition = entry.getKey()
      String s = oTransition.getPostSetName();
      String substitute = s.replaceAll("\\s", "_");
      sb.append("set " + substitute
          + ":=");
      for (Integer j : entry.getValue()) {
        sb.append(" " + j);
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

  }
 
  private void removeNodeTransitions(TCGNode in_oNode) throws Exception
  {
    while(!in_oNode.getIncomingTransitions().isEmpty()) {
      TCGTransition oTransition = in_oNode.getIncomingTransitions().get(0);
      removeTransition(oTransition);
    }
    while(!in_oNode.getOutgoingTransitions().isEmpty()) {
      TCGTransition oTransition = in_oNode.getOutgoingTransitions().get(0);
      removeTransition(oTransition);
    }
  }
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

  public TCGTransition addTransition(
      TCGNode in_oSourceNode,
      TCGNode in_oTargetNode) throws Exception
  {
   
    TCGTransition oTransition = GeneratedFactory.eINSTANCE.createTCGTransition();
    TestCaseRegion oRegion = TCGNodeHelperClass.getContainingRegion(in_oSourceNode);
    if(oRegion == null)
      oRegion = TCGNodeHelperClass.getContainingRegion(in_oTargetNode);
    if(oRegion == null)
      throw new Exception("source and target node have no container");
   
    oRegion.getTransitions().add(oTransition);   
   
    oTransition.setSourceNode(in_oSourceNode);
    in_oSourceNode.getOutgoingTransitions().add(oTransition);

    oTransition.setTargetNode(in_oTargetNode);
    in_oTargetNode.getIncomingTransitions().add(oTransition);
   
    return oTransition;
  }
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

      }
    }
   
    // add all the transitions for the collected information
    for(TransitionCreationInformationContainer oTrans : colTransitionInformations) {
      TCGTransition oNewTransition =
        TCGTransitionHelperClass.
          createNewTransitionsBetweenNodeAndTransitionTarget(
              m_oTCGHelper, oTrans.m_oRegion,
              oTrans.m_oNode, oTrans.m_oTransition);
      if(oTrans.m_colEventToDNF != null) {
        oNewTransition.getEvents().clear();
        oNewTransition.setPrecondition(null);
        for(Entry<TCGEvent, TCGDisjunctiveNormalForm> oEntry : oTrans.m_colEventToDNF.entrySet()) {
          oNewTransition.getEvents().add(oEntry.getKey());
          // TODO: each transition should hold a map of event to guard
          // instead of just separate event and guard
          if(oNewTransition.getPrecondition() == null) {
            oNewTransition.setPrecondition(oEntry.getValue());
          }
        }
      }
    }
  }
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

        T result = caseTestCaseGraph(testCaseGraph);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case GeneratedPackage.TCG_TRANSITION: {
        TCGTransition tcgTransition = (TCGTransition)theEObject;
        T result = caseTCGTransition(tcgTransition);
        if (result == null) result = caseTCGElement(tcgTransition);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setTransitionContext(TCGTransition newTransitionContext) {
    TCGTransition oldTransitionContext = transitionContext;
    transitionContext = newTransitionContext;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, GeneratedPackage.TCGOCL_EXPRESSION__TRANSITION_CONTEXT, oldTransitionContext, transitionContext));
  }
View Full Code Here

Examples of net.sf.parteg.base.testcasegraph.generated.TCGTransition

    if(in_oTransition.getSource().getName().toString().equals("SubState0")){ //for debug
      in_oTransition.getName();
    }
   
    // add transition
    TCGTransition oTCGTransition = m_oTCGHelper.addTransition(
        m_colVertex2Node.get(in_oTransition.getSource()),
        m_colVertex2Node.get(in_oTransition.getTarget()));
   
    // include transition event
    addEvents(in_oTransition, oTCGTransition, in_colEvents);
   
    // include transition guard: add as precondition
    addTransitionGuard(in_oTransition, oTCGTransition,
        in_colAdditionGuardConditions,
        Configuration.getSplitInequationsBeforeTestGoalDefinition());
   
    // include pre-/postconditions of referenced effects
    addEffectPreAndPostcondition(in_oTransition, oTCGTransition,
        Configuration.getSplitInequationsBeforeTestGoalDefinition());
   
     if(!in_bAddTransition) {
      oTCGTransition.setCanBeProcessed(false);
      m_oTCGHelper.getLogger().getFormattedOutput().appendln(
          "warning: transition cannot be processed due to event overriding: >"
           + oTCGTransition.toString() + "<");
      m_oTCGHelper.getLogger().getFormattedOutput().appendln(
          "   from " + oTCGTransition.getSourceNode().getName());
      m_oTCGHelper.getLogger().getFormattedOutput().appendln(
          "   to   " + oTCGTransition.getTargetNode().getName());
      m_oTCGHelper.getLogger().getFormattedOutput().appendln(
          "   triggered by events:");
      for(TCGEvent oEvent : oTCGTransition.getEvents()) {
        m_oTCGHelper.getLogger().getFormattedOutput().appendln(
          "      " + oEvent.getName());
      }
    }
   
    //Amin Rezaee
    oTCGTransition.setName(in_oTransition.getName());
    oTCGTransition.setRelatedUMLTransition(in_oTransition);
    //Amin
  }
View Full Code Here
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.