Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Pun2016-06-01 18:10:31 +0000
committerEric Williams2016-06-08 17:27:55 +0000
commit63e349a3fef39352e3e26eda56a2889c534a9e46 (patch)
tree162987b967566f6bd91543519d26a6f712b22776 /tests/org.eclipse.swt.tests
parentb26b7c501724c9ca3255280b0eff9e76f95a6c30 (diff)
downloadeclipse.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')
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllWidgetTests.java2
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Spinner.java176
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

Back to the top