package com.windowtester.test.gef.tests.smoke.scenarios; import org.eclipse.gef.examples.logicdesigner.figures.LEDFigure; import com.windowtester.runtime.IUIContext; import com.windowtester.runtime.WidgetSearchException; import com.windowtester.runtime.gef.IFigureReference; import com.windowtester.runtime.gef.internal.locator.provisional.api.IndexedFigureLocator; import com.windowtester.runtime.gef.internal.util.TextHelper; import com.windowtester.runtime.swt.locator.eclipse.ContributedToolItemLocator; import com.windowtester.test.gef.tests.common.BaseLogicDrivingTest; import static com.windowtester.test.gef.factories.FigureMatcherFactory.*; /** * * <p> * Copyright (c) 2007, Instantiations, Inc.<br> * All Rights Reserved * * @author Jaime Wren * */ public class LogicDrivingSmokeTest1 extends BaseLogicDrivingTest { public LogicDrivingSmokeTest1() { super(true); } public void test1LogicDrive() throws Exception { final IUIContext ui = getUI(); ui.click(new IndexedFigureLocator(0,ledMatcher, xyComparator())); pauseForModel(); assertAdditionWorks(); ui.click(new ContributedToolItemLocator("Increment")); assertAdditionWorks(); ui.click(new ContributedToolItemLocator("Increment")); assertAdditionWorks(); ui.click(new ContributedToolItemLocator("Increment")); assertAdditionWorks(); pause(500); ui.click(new ContributedToolItemLocator("Decrement")); assertAdditionWorks(); ui.click(new ContributedToolItemLocator("Decrement")); assertAdditionWorks(); pause(500); ui.click(new IndexedFigureLocator(2,ledMatcher, xyComparator())); pauseForModel(); ui.click(new ContributedToolItemLocator("Increment")); assertAdditionWorks(); ui.click(new ContributedToolItemLocator("Increment")); assertAdditionWorks(); // pause to look at editor: pause(3000); save(); assertNoLoggedExceptions(); } private void assertAdditionWorks() throws WidgetSearchException { // get the input LED figures: IFigureReference refInput1 = (IFigureReference)getUI().find(new IndexedFigureLocator(0,ledMatcher,xyComparator())); LEDFigure ledFigureInput1 = (LEDFigure)refInput1.getFigure(); String strValueInput1 = TextHelper.getStringFieldValue(ledFigureInput1, "value"); int valueInput1 = Integer.parseInt(strValueInput1); IFigureReference refInput2 = (IFigureReference)getUI().find(new IndexedFigureLocator(2,ledMatcher,xyComparator())); LEDFigure ledFigureInput2 = (LEDFigure)refInput2.getFigure(); String strValueInput2 = TextHelper.getStringFieldValue(ledFigureInput2, "value"); int valueInput2 = Integer.parseInt(strValueInput2); // get the output LED IFigureReference refOutput = (IFigureReference)getUI().find(new IndexedFigureLocator(1,ledMatcher,xyComparator())); LEDFigure ledFigureOutput = (LEDFigure)refOutput.getFigure(); String strValueOutput = TextHelper.getStringFieldValue(ledFigureOutput, "value"); int valueOutput = Integer.parseInt(strValueOutput); // prints the assertion //System.out.println(valueInput1 + " + " + valueInput2 + " = " + valueOutput); // the assertion: assertTrue(valueInput1+valueInput2 == valueOutput); } }