package org.eclipse.nebula.widgets.cdatetime; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; import org.eclipse.nebula.cwt.test.AbstractVTestCase; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; public class SelectionTests extends AbstractVTestCase { private CdtTester tester1; private CdtTester tester2; private void singleSelectionTest() { System.err.println("START - Single Selection Test "); assertNull(tester1.getSelection()); assertNotNull(tester1.getCalendarTime()); Date date = Calendar.getInstance().getTime(); tester1.setFocus(); tester1.setSelection(date); if((tester1.getStyle() & CDT.SIMPLE) == 0) { SimpleDateFormat sdf = new SimpleDateFormat(tester1.getPattern(), Locale.getDefault()); assertEquals(sdf.format(date), tester1.getText()); } assertEquals(date, tester1.getSelection()); assertEquals(date, tester1.getCalendarTime()); System.err.println("END - Single Selection Test"); System.out.println(); } private void dualSelectionTest() { System.err.println("dual Selection Test"); assertNull(tester1.getSelection()); assertNull(tester2.getSelection()); Date date1 = new Date(); Date date2 = new Date(System.currentTimeMillis()+10000); tester1.setSelection(date1); assertEquals(date1, tester1.getSelection()); assertNull(tester2.getSelection()); tester2.setSelection(date2); assertEquals(date1, tester1.getSelection()); assertEquals(date2, tester2.getSelection()); tester1.setSelection(null); assertNull(tester1.getSelection()); assertEquals(date2, tester2.getSelection()); tester2.setSelection(null); assertNull(tester1.getSelection()); assertNull(tester2.getSelection()); } public void setupBaseDateSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG); } public void testBaseDateSelection() { System.err.println("testBaseDateSelection:" + tester1); singleSelectionTest(); } public void setupDropDownDateSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.DROP_DOWN); } public void testDropDownDateSelection() { System.err.println("testBaseDateSelection :" + tester1); singleSelectionTest(); } public void setupSimpleDateSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.SIMPLE); } public void testSimpleDateSelection() { System.err.println("testSimpleDateSelection :" + tester1); singleSelectionTest(); } public void setupBaseDateTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM); } public void testBaseDateTimeSelection() { System.err.println("testBaseDateTimeSelection :" + tester1); singleSelectionTest(); } public void setupDropDownDateTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM | CDT.DROP_DOWN); } public void testDropDownDateTimeSelection() { System.err.println("testDropDownDateTimeSelection :" + tester1); singleSelectionTest(); } public void setupSimpleDateTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM | CDT.SIMPLE); } public void testSimpleDateTimeSelection() { System.err.println("testSimpleDateTimeSelection :" + tester1); singleSelectionTest(); } public void setupBaseTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM); } public void testBaseTimeSelection() { System.err.println("testBaseTimeSelection :" + tester1); singleSelectionTest(); } public void setupDropDownTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM | CDT.DROP_DOWN); } public void testDropDownTimeSelection() { System.err.println("testDropDownTimeSelection :" + tester1); singleSelectionTest(); } public void setupSimpleTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM | CDT.SIMPLE); } public void testSimpleTimeSelection() { System.err.println("testSimpleTimeSelection :" + tester1); singleSelectionTest(); } public void setupDualBaseDateSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG); } public void testDualBaseDateSelection() { dualSelectionTest(); } public void setupDualDropDownDateSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.DROP_DOWN); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.DROP_DOWN); } public void testDualDropDownDateSelection() { dualSelectionTest(); } public void setupDualSimpleDateSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.SIMPLE); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.SIMPLE); } public void testDualSimpleDateSelection() { dualSelectionTest(); } public void setupDualBaseDateTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM); } public void testDualBaseDateTimeSelection() { dualSelectionTest(); } public void setupDualDropDownDateTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM | CDT.DROP_DOWN); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM | CDT.DROP_DOWN); } public void testDualDropDownDateTimeSelection() { dualSelectionTest(); } public void setupDualSimpleDateTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM | CDT.SIMPLE); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.DATE_LONG | CDT.TIME_MEDIUM | CDT.SIMPLE); } public void testDualSimpleDateTimeSelection() { dualSelectionTest(); } public void setupDualBaseTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM); } public void testDualBaseTimeSelection() { dualSelectionTest(); } public void setupDualDropDownTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM | CDT.DROP_DOWN); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM | CDT.DROP_DOWN); } public void testDualDropDownTimeSelection() { dualSelectionTest(); } public void setupDualSimpleTimeSelection() throws Exception { tester1 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM | CDT.SIMPLE); tester2 = new CdtTester(getShell(), CDT.BORDER | CDT.TIME_MEDIUM | CDT.SIMPLE); } public void testDualSimpleTimeSelection() { dualSelectionTest(); } boolean defaultSelected = false; boolean selected = false; private void resetSelecteds() { defaultSelected = false; selected = false; } public void setupSelectionListenerOnText() { tester1 = new CdtTester(getShell(), CDT.BORDER); tester1.setSelection(new Date()); resetSelecteds(); tester1.getCDateTime().addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { selected = true; } public void widgetDefaultSelected(SelectionEvent e) { defaultSelected = true; } }); } public void testSelectionListenerOnText() { assertFalse(selected); assertFalse(defaultSelected); click(tester1.getTextWidget()); keyPress(SWT.ARROW_UP); assertTrue(selected); assertFalse(defaultSelected); resetSelecteds(); keyPress('\r'); assertTrue(selected); assertTrue(defaultSelected); resetSelecteds(); keyPress(SWT.KEYPAD_CR); assertTrue(selected); assertTrue(defaultSelected); } }