public void testLinkWithEditorForNewlyFormalizedComponent() { Component_c component = Component_c.ComponentInstance( modelRoot, new ClassQueryInterface_c() { public boolean evaluate(Object candidate) { return ((Component_c) candidate).getName().equals(testDomain.getName()); } }); assertNotNull(component); m_bp_tree.collapseAll(); if (!component.Isformal()) formalizeComponent(component); waitForTransaction(); m_bp_view.setLinkWithEditor(true); ExternalEntityPackage_c eepkg = ExternalEntityPackage_c.getOneS_EEPKOnR36(testDomain); Selection.getInstance().clear(); Selection.getInstance().addToSelection(eepkg); m_bp_view.setFocus(); m_bp_tree.refresh(); while (PlatformUI.getWorkbench().getDisplay().readAndDispatch()) ; Object[] elementsAfterSelection = m_bp_tree.getExpandedElements(); boolean result = false; for (int i = 0; i < elementsAfterSelection.length; i++) { if (elementsAfterSelection[i].equals(component)) { result = true; } } assertTrue( "The tree was not expanded for formal component children when link with editor was set.", result); }
public static boolean enableDelete(IStructuredSelection graphicalSelection) { boolean enableDel = false; List<Object> elements = new ArrayList<Object>(); IStructuredSelection selection = Selection.getInstance().getStructuredSelection(); if (!selection.isEmpty()) { if (graphicalSelection.getFirstElement() instanceof DiagramEditPart) return false; enableDel = true; // Iterate through removing elements that are only graphical for (Iterator<?> iter = selection.iterator(); iter.hasNext(); ) { Object current = iter.next(); if (current instanceof GraphicalElement_c) { GraphicalElement_c ge = (GraphicalElement_c) current; if (ge.getRepresents() == null) { elements.add(current); Selection.getInstance().removeFromSelection(ge); } } } } selection = Selection.getInstance().getStructuredSelection(); if (!selection.isEmpty()) { // Check the remaining items against the usual DeleteAction, enableDel = DeleteAction.canDeleteAction(); } // Add the graphical only elements back to the selection for (int i = 0; i < elements.size(); ++i) { Selection.getInstance().addToSelection(elements.get(i)); } return enableDel; }
/** Creates a new domain with the given name, for the given system. */ public static void createNewModel(String domainName, SystemModel_c sys) { NewDomainWizard ndw = new NewDomainWizard(); Selection.getInstance().clear(); Selection.getInstance().addToSelection(sys); ndw.init(null, Selection.getInstance().getStructuredSelection()); ndw.addPages(); WizardDialog dialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), ndw); dialog.create(); WizardNewDomainCreationPage wndcp = (WizardNewDomainCreationPage) ndw.getStartingPage(); wndcp.setDomainNameFieldValue(domainName); wndcp.setUseTemplate(false); ndw.setContainer(null); ndw.performFinish(); }
public void testSendInterfaceOperationWithReturnOutOfLongDele() { ModelRoot[] roots = Ooaofooa.getInstancesUnderSystem(projectName); Function_c testFunc = null; for (int i = 0; i < roots.length; i++) { testFunc = Function_c.FunctionInstance(roots[i], new Function_by_name_c("LongDelegation")); if (testFunc != null) { break; } } assertNotNull(testFunc); Selection.getInstance().setSelection(new StructuredSelection(m_sys)); runVerifier(); BPDebugUtils.executeElement(testFunc); DebugUITestUtilities.waitForExecution(); DebugUITestUtilities.waitForBPThreads(m_sys); DebugUITestUtilities.waitForExecution(); String expectedConsoleText = "User invoked function: LongDelegation" + "\r\nLogSuccess: TestDriverComponent has consumed the messsage as expected" + "\r\nLogSuccess: Correct return value from delegated message\r\n"; String actualConsoleText = DebugUITestUtilities.getConsoleText("null"); assertEquals(expectedConsoleText, actualConsoleText); }
private void setAndConfirmBreakpoint(NonRootModelElement st) { Selection.getInstance().setSelection(new StructuredSelection(st)); ActivityEditor editor = DebugUITestUtilities.openActivityEditorForSelectedElement(); editor.setFocus(); DebugUITestUtilities.setBreakpointAtLine(editor, 2); IBreakpointManager bpm = DebugPlugin.getDefault().getBreakpointManager(); IBreakpoint[] bps = bpm.getBreakpoints(); assertTrue("Breakpoint not set", bps.length == 1); }
public void testSendInterfaceSignalOverDele() { ModelRoot root = Ooaofooa.getInstance("/Delegation/models/Delegation/System/System.xtuml"); Function_c testFunc = Function_c.FunctionInstance(root, new Function_by_name_c("sendSignal")); assertNotNull(testFunc); Selection.getInstance().setSelection(new StructuredSelection(m_sys)); runVerifier(); BPDebugUtils.executeElement(testFunc); DebugUITestUtilities.waitForExecution(); DebugUITestUtilities.waitForBPThreads(m_sys); DebugUITestUtilities.waitForExecution(); String expectedConsoleText = "User invoked function: sendSignal\r\nLogSuccess: LevelOneDelegationComponent has consumed the messsage as expected\r\nLogSuccess: LevelTwoDelegationComponent has consumed the messsage as expected\r\n"; String actualConsoleText = DebugUITestUtilities.getConsoleText("null"); assertEquals(expectedConsoleText, actualConsoleText); }
private void runVerifier() { Package_c[] pkgs = Package_c.getManyEP_PKGsOnR1401(m_sys); NonRootModelElement[] selectedElement = null; NonRootModelElement[] compRefs = null; NonRootModelElement[] components = null; for (Package_c pkg : pkgs) { if (pkg.getName().equalsIgnoreCase("system")) { components = Component_c.getManyC_CsOnR8001(PackageableElement_c.getManyPE_PEsOnR8000(pkg)); assertNotNull(components); compRefs = ComponentReference_c.getManyCL_ICsOnR8001( PackageableElement_c.getManyPE_PEsOnR8000(pkg)); assertNotNull(compRefs); selectedElement = new NonRootModelElement[components.length + compRefs.length]; System.arraycopy(components, 0, selectedElement, 0, components.length); System.arraycopy(compRefs, 0, selectedElement, components.length, compRefs.length); } } openPerspectiveAndView( "com.mentor.nucleus.bp.debug.ui.DebugPerspective", BridgePointPerspective.ID_MGC_BP_EXPLORER); Selection.getInstance().setSelection(new StructuredSelection(components)); Menu menu = m_bp_tree.getControl().getMenu(); assertTrue( "The Launch Verifier action was not present for a component.", UITestingUtilities.checkItemStatusInContextMenu(menu, "Launch Verifier", "", false)); MenuItem launchVerifierItem = DebugUITestUtilities.getLaunchVerifierItem(menu); assertNotNull(launchVerifierItem); ComponentInstance_c[] engines = ComponentInstance_c.ComponentInstanceInstances(components[0].getModelRoot()); assertTrue( "Unexpected test state, there should be no Component Instances.", engines.length == 0); TestUtil.debugToDialog(200); launchVerifierItem.notifyListeners(SWT.Selection, null); TestingUtilities.processDisplayEvents(); menu = m_bp_tree.getControl().getMenu(); assertFalse( "The Launch Verifier action was present for an unassigned imported component.", UITestingUtilities.menuItemExists(menu, "", "Launch Verifier")); }
public void testSendInterfaceOperationWithReturnOverLongDele() { ModelRoot root = Ooaofooa.getInstance("/Delegation/models/Delegation/System/System.xtuml"); Function_c testFunc = Function_c.FunctionInstance(root, new Function_by_name_c("longdelegationWithReturn")); assertNotNull(testFunc); Selection.getInstance().setSelection(new StructuredSelection(m_sys)); runVerifier(); BPDebugUtils.executeElement(testFunc); DebugUITestUtilities.waitForExecution(); DebugUITestUtilities.waitForBPThreads(m_sys); DebugUITestUtilities.waitForExecution(); String expectedConsoleText = "User invoked function: longdelegationWithReturn" + "\r\nLogSuccess: FourOfFourDelegation has consumed the messsage as expected" + "\r\nLogSuccess: Correct return value from delegated message\r\n"; String actualConsoleText = DebugUITestUtilities.getConsoleText("null"); assertEquals(expectedConsoleText, actualConsoleText); }
private void checkTransitionActionBreakPoint(final String transName, String expResultFile) { Package_c cp = Package_c.getOneEP_PKGOnR1405( m_sys, new ClassQueryInterface_c() { @Override public boolean evaluate(Object candidate) { return ((Package_c) candidate).getName().equals("Components"); } }); assertNotNull(cp); Component_c component = Component_c.getOneC_COnR8001( PackageableElement_c.getManyPE_PEsOnR8000(cp), new ClassQueryInterface_c() { @Override public boolean evaluate(Object candidate) { return ((Component_c) candidate).getName().equals("TransitionActionTestGlobals"); } }); assertNotNull(component); // launch the component DebugUITestUtilities.setLogActivityAndLaunchForElement( component, m_bp_tree.getControl().getMenu(), m_sys.getName()); // select the transition to be tested Transition_c trans = Transition_c.TransitionInstance( component.getModelRoot(), new ClassQueryInterface_c() { public boolean evaluate(Object candidate) { return ((Transition_c) candidate).Get_name().contains(transName); } }); assertNotNull(trans); Selection.getInstance().clear(); Selection.getInstance().addToSelection(trans); // set a breakpoint at line 2 ActivityEditor editor = DebugUITestUtilities.openActivityEditorForSelectedElement(); DebugUITestUtilities.setBreakpointAtLine(editor, 2); Function_c setup = Function_c.getOneS_SYNCOnR8001( PackageableElement_c.getManyPE_PEsOnR8000( Package_c.getManyEP_PKGsOnR8001( PackageableElement_c.getManyPE_PEsOnR8003(component))), new ClassQueryInterface_c() { public boolean evaluate(Object candidate) { return ((Function_c) candidate).getName().equals("setup"); } }); assertNotNull(setup); openPerspectiveAndView( "com.mentor.nucleus.bp.debug.ui.DebugPerspective", BridgePointPerspective.ID_MGC_BP_EXPLORER); BPDebugUtils.executeElement(setup); DebugUITestUtilities.waitForExecution(); Function_c test = Function_c.getOneS_SYNCOnR8001( PackageableElement_c.getManyPE_PEsOnR8000( Package_c.getManyEP_PKGsOnR8001( PackageableElement_c.getManyPE_PEsOnR8003(component))), new ClassQueryInterface_c() { public boolean evaluate(Object candidate) { return ((Function_c) candidate).getName().equals("test"); } }); assertNotNull(test); BPDebugUtils.executeElement(test); DebugUITestUtilities.waitForExecution(); ComponentInstance_c engine = ComponentInstance_c.getOneI_EXEOnR2955(component); assertNotNull(engine); // wait for the execution to complete DebugUITestUtilities.waitForBPThreads(m_sys); // compare the trace File expectedResults = new File(m_workspace_path + "expected_results/verifier/" + expResultFile); String expected_results = TestUtil.getTextFileContents(expectedResults); // get the text representation of the debug tree String actual_results = DebugUITestUtilities.getConsoleText(expected_results); assertEquals(expected_results, actual_results); }