Package org.xilaew.atg.model.abstractTestCaseGraph

Examples of org.xilaew.atg.model.abstractTestCaseGraph.AbstractTCGEdge


   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setEdges(AbstractTCGEdge newEdges) {
    AbstractTCGEdge oldEdges = edges;
    edges = newEdges;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, TestCaseGraphRuntimePackage.AMPL_PATH__EDGES, oldEdges, edges));
  }
View Full Code Here


        tcgActivity.getNodes().add(tcgNode);
      }
    }
    // convert (UML) ActivityEdges to TCGEdges
    for (ActivityEdge umlEdge : umlActivity.getEdges()) {
      AbstractTCGEdge tcgEdge = (AbstractTCGEdge) transformElement(umlEdge);
      if (tcgEdge != null) {
        tcgActivity.getEdges().add(tcgEdge);
      }
    }
    tcgActivity.setClassName(UMLHelper.getNamespace(umlActivity).getName());
View Full Code Here

    Deque<SearchTree> stack = new ArrayDeque<SearchTree>();
    for (AbstractTCGEdge e : atcg.getInitialNode().getOutgoing()) {
      stack.addLast(new SearchTree(e, null, 0));
    }
    AbstractTCGNode currentNode = atcg.getInitialNode();
    AbstractTCGEdge currentEdge;
    SearchTree currentElement;
    while (!stack.isEmpty()) {
      currentElement = stack.removeFirst();
      currentEdge = currentElement.edge;
      currentNode = currentEdge.getTarget();

      for (AbstractTCGEdge outgoing : currentNode.getOutgoing()) {
        stack.addLast(new SearchTree(outgoing, currentElement,
            currentElement.depth + 1));
      }
View Full Code Here

    EList<Path> result = new BasicEList<Path>();
    Deque<AbstractTCGEdge> stack = new ArrayDeque<AbstractTCGEdge>();
   
    stack.addAll(atcg.getInitialNode().getOutgoing());
    AbstractTCGNode currentNode = atcg.getInitialNode();
    AbstractTCGEdge currentEdge ;
    Path currentPath = TestCaseGraphRuntimeFactory.eINSTANCE.createPath();
    while(!stack.isEmpty()){
      currentEdge = stack.removeFirst();
      while(!currentEdge.getSource().equals(currentNode)){
        //retreat
        currentNode = currentPath.getEdges().remove(currentPath.getEdges().size()-1).getSource();
      }
      currentNode = currentEdge.getTarget();
      currentPath.getEdges().add(currentEdge);
      for(AbstractTCGEdge outgoing:currentNode.getOutgoing()){
        stack.addFirst(outgoing);
      }
      if(currentNode.getOutgoing().size()==0){
View Full Code Here

      currentEdge = stack.removeFirst();
      // backtrack
      while (currentEdge.getSecond() != currentPath.getEdges().size()) {
        // System.out.println("BACKTRACK");
        EList<AbstractTCGEdge> l = currentPath.getEdges();
        AbstractTCGEdge e = l.remove(l.size() - 1);
        currentNode = e.getSource();
        if (currentNode.getOutgoing().size() >= 2) {
          passedDecisions--;
        }
      }
      passedDecisions = (passedDecisions < 0 ? 0 : passedDecisions);
View Full Code Here

    Deque<SearchTree> stack = new ArrayDeque<SearchTree>();
    for (AbstractTCGEdge e : atcg.getInitialNode().getOutgoing()) {
      stack.addLast(new SearchTree(e, null, 0));
    }
    AbstractTCGNode currentNode = atcg.getInitialNode();
    AbstractTCGEdge currentEdge;
    SearchTree currentElement;
    while (!stack.isEmpty() && (result.size() <= maxNoPaths || maxNoPaths==-1)) {
      currentElement = stack.removeFirst();
      currentEdge = currentElement.edge;
      currentNode = currentEdge.getTarget();

      if (currentElement.depth < maxDepth || maxDepth==-1) {
        for (AbstractTCGEdge outgoing : currentNode.getOutgoing()) {
          stack.addLast(new SearchTree(outgoing, currentElement,
              currentElement.depth + 1));
View Full Code Here

    EMap<Path, Witness> result = new BasicEMap<Path, Witness>();
    Deque<SearchTree> stack = new ArrayDeque<SearchTree>();
    ampl.setSolver(solver);
    ampl.loadModel(ActTCG2AMPLModel.transform(atcg));
    AbstractTCGNode currentNode = atcg.getInitialNode();
    AbstractTCGEdge currentEdge;
    SearchTree currentElement;
    // Add Initial Search Tree Nodes
    int pDInc = (currentNode.getOutgoing().size() >= 2 ? 1 : 0); // passed
                                    // Decissions
                                    // Increment
                                    // (set
                                    // to 1
                                    // whenever
                                    // the
                                    // current
                                    // node
                                    // has
                                    // multiple
                                    // outgoing
                                    // edges)
    for (AbstractTCGEdge e : atcg.getInitialNode().getOutgoing()) {
      stack.addLast(new SearchTree(e, null, 0, pDInc));
    }
    // Perform Breadth First Search
    while (!stack.isEmpty()
        && (result.size() < maxNoPaths || maxNoPaths == -1)) {
      pDInc = 0;
      currentElement = stack.removeFirst();
      currentEdge = currentElement.edge;
      currentNode = currentEdge.getTarget();

      if (currentElement.depth <= maxDepth || maxDepth == -1) {
        pDInc = (currentNode.getOutgoing().size() >= 2 ? 1 : 0);
        // Eliminate Infeasible Paths
        if (pDInc == 1
View Full Code Here

    while (!stack.isEmpty()
        && (result.size() <= maxNoPaths || maxNoPaths == -1)) {
      currentEdge = stack.removeFirst();
      while (currentEdge.getSecond() != currentPath.getEdges().size()) {
        EList<AbstractTCGEdge> l = currentPath.getEdges();
        AbstractTCGEdge e = l.remove(l.size() - 1);
        // retreat
        currentNode = e.getSource();
      }
      if (!currentNode.equals(currentEdge.getFirst().getSource())) {
        try {
          throw new YouShallNotDoThisException("bullshit");
        } catch (YouShallNotDoThisException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
      ;
      currentNode = currentEdge.getFirst().getTarget();
      currentPath.getEdges().add(currentEdge.getFirst());
View Full Code Here

TOP

Related Classes of org.xilaew.atg.model.abstractTestCaseGraph.AbstractTCGEdge

Copyright © 2018 www.massapicom. 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.