diff options
author | Ian Pun | 2016-06-01 18:10:31 +0000 |
---|---|---|
committer | Eric Williams | 2016-06-08 17:27:55 +0000 |
commit | 63e349a3fef39352e3e26eda56a2889c534a9e46 (patch) | |
tree | 162987b967566f6bd91543519d26a6f712b22776 /tests/org.eclipse.swt.tests | |
parent | b26b7c501724c9ca3255280b0eff9e76f95a6c30 (diff) | |
download | eclipse.platform.swt-63e349a3fef39352e3e26eda56a2889c534a9e46.tar.gz eclipse.platform.swt-63e349a3fef39352e3e26eda56a2889c534a9e46.tar.xz eclipse.platform.swt-63e349a3fef39352e3e26eda56a2889c534a9e46.zip |
Bug 495209 - Add test class for Spinner widget
Created a Spinner test class. The test goes through all methods from the
Spinner class except for copy(), cut(), and paste() as they don't have
any functionality with the Spinner widget that I'm aware of.
Change-Id: I0c604cb6161661cd696b3b503777de12fc70e841
Signed-off-by: Ian Pun <ipun@redhat.com>
Diffstat (limited to 'tests/org.eclipse.swt.tests')
2 files changed, 177 insertions, 1 deletions
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllWidgetTests.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllWidgetTests.java index f1228499c8..ac2e06ebce 100644 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllWidgetTests.java +++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllWidgetTests.java @@ -41,7 +41,7 @@ import org.junit.runners.Suite; Test_org_eclipse_swt_custom_StyleRange.class, Test_org_eclipse_swt_custom_CCombo.class, Test_org_eclipse_swt_custom_TableTreeItem.class, Test_org_eclipse_swt_custom_CLabel.class, Test_org_eclipse_swt_custom_CTabItem.class, Test_org_eclipse_swt_custom_StyledText.class, - Test_org_eclipse_swt_custom_CTabFolder.class }) + Test_org_eclipse_swt_custom_CTabFolder.class, Test_org_eclipse_swt_widgets_Spinner.class }) public class AllWidgetTests { public static void main(String[] args) { JUnitCore.main(AllWidgetTests.class.getName()); diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Spinner.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Spinner.java new file mode 100644 index 0000000000..885ee90ac1 --- /dev/null +++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Spinner.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2000, 2016 Red Hat, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Ian Pun <ipun@redhat.com> - addition of Spinner test class + *******************************************************************************/ +package org.eclipse.swt.tests.junit; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Spinner; +import org.junit.Before; +import org.junit.Test; + +public class Test_org_eclipse_swt_widgets_Spinner extends Test_org_eclipse_swt_widgets_Composite { + + Spinner spinner; + + @Override + @Before + public void setUp() { + super.setUp(); + spinner = new Spinner(shell, 0); + setWidget(spinner); + } + + @Override + @Test + public void test_ConstructorLorg_eclipse_swt_widgets_CompositeI() { + try { + spinner = new Spinner(null, 0); + fail("No exception thrown for parent == null"); + } + catch (IllegalArgumentException e) { + } + int[] cases = {0, SWT.READ_ONLY, SWT.WRAP}; + for (int i = 0; i < cases.length; i++) + spinner = new Spinner(shell, cases[i]); + } + + @Override + @Test + public void test_computeSizeIIZ() { + // super class test is sufficient + } + + @Test + public void test_getIncrement() { + int [] cases = {5,100,1000,1}; + for (int i=0;i<cases.length;i++){ + spinner.setIncrement(cases[i]); + assertEquals(spinner.getIncrement(), cases[i]); + } + spinner.setIncrement(-1); + assertEquals(spinner.getIncrement(), cases[cases.length-1]); + } + + @Test + public void test_getDigits() { + int [] cases = {1,10,0}; + for (int i=0;i<cases.length;i++){ + spinner.setDigits(cases[i]); + assertEquals(spinner.getDigits(), cases[i]); + } + try{ + spinner.setDigits(-1); + fail("setDigits should have failed with illegal Argument"); + } + catch(IllegalArgumentException e){ + assertEquals(spinner.getDigits(), cases[cases.length-1]); + } + } + + @Test + public void test_getMaximum() { + spinner.setMaximum(1000); + assertEquals(spinner.getMaximum(), 1000); + spinner.setMinimum(100); + spinner.setMaximum(99); + assertEquals(spinner.getMaximum(), 1000); + } + + @Test + public void test_getMinimum() { + spinner.setMinimum(2); + assertEquals(spinner.getMinimum(), 2); + spinner.setMaximum(99); + spinner.setMinimum(100); + assertEquals(spinner.getMinimum(), 2); + } + + @Test + public void test_getPageIncrement() { + int [] cases = {5,1000,20,1}; + for (int i=0;i<cases.length;i++){ + spinner.setPageIncrement(cases[i]); + assertEquals(spinner.getPageIncrement(), cases[i]); + } + spinner.setPageIncrement(-1); + assertEquals(spinner.getPageIncrement(), cases[cases.length-1]); + } + + @Test + public void test_getSelection() { + int [] cases = {5,1000,25,1}; + for (int i=0;i<cases.length;i++){ + if(cases[i]>=spinner.getMaximum()) + cases[i] = spinner.getMaximum()-1; + spinner.setSelection(cases[i]); + assertEquals(spinner.getSelection(), cases[i]); + } + spinner.setSelection(spinner.getMaximum()+1); + assertEquals(spinner.getSelection(), spinner.getMaximum()); + spinner.setSelection(spinner.getMinimum()-1); + assertEquals(spinner.getSelection(), spinner.getMinimum()); + } + + @Test + public void test_getTextLimit() { + int [] cases = {5,1000,1}; + for (int i=0;i<cases.length;i++){ + spinner.setTextLimit(cases[i]); + assertEquals(spinner.getTextLimit(), cases[i]); + } + try { + spinner.setTextLimit(0); + fail("setTextLimit should have caused an expection with value 0"); + } catch (Exception e) { + } + } + + @Test + public void test_setValues() { + int cases = 4; + int [] selection = {5,10,15,20}; + int [] minimum = {1,5,15,0}; + int [] maximum = {20,30,15,50}; + int [] digits = {0,1,2,3}; + int [] increment = {10,5,6,100}; + int [] pageIncrement = {50,5,6,100}; + for (int i=0;i<cases;i++){ + spinner.setValues(selection[i], minimum[i], maximum[i], digits[i], increment[i], pageIncrement[i]); + assertEquals(spinner.getSelection(), selection[i]); + assertEquals(spinner.getMinimum(), minimum[i]); + assertEquals(spinner.getMaximum(), maximum[i]); + assertEquals(spinner.getDigits(), digits[i]); + assertEquals(spinner.getIncrement(), increment[i]); + assertEquals(spinner.getPageIncrement(), pageIncrement[i]); + } + spinner.setValues(5, 10, 3, -1, 0, -1); + assertEquals(spinner.getSelection(), selection[cases-1]); + assertEquals(spinner.getMinimum(), minimum[cases-1]); + assertEquals(spinner.getMaximum(), maximum[cases-1]); + assertEquals(spinner.getDigits(), digits[cases-1]); + assertEquals(spinner.getIncrement(), increment[cases-1]); + assertEquals(spinner.getPageIncrement(), pageIncrement[cases-1]); + spinner = new Spinner(shell,0); + } + + @Test + public void test_getText(){ + spinner.setSelection(5); + assertEquals(spinner.getText(), "5"); + spinner.setSelection(-5); + assertEquals(spinner.getText(), "0"); + spinner.setSelection(spinner.getMaximum()+1); + assertEquals(spinner.getText(), String.valueOf(spinner.getMaximum())); + } +}
\ No newline at end of file |