### Eclipse Workspace Patch 1.0 #P org.eclipse.jface.tests.databinding Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/LabelObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/LabelObservableValueTest.java,v retrieving revision 1.3 diff -u -r1.3 LabelObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/LabelObservableValueTest.java 28 Sep 2007 15:30:11 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/LabelObservableValueTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.LabelObservableValue; import org.eclipse.swt.SWT; @@ -68,12 +67,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests(LabelObservableValueTest.class).addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(LabelObservableValueTest.class.getName()); + suite.addTestSuite(LabelObservableValueTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/ComboObservableValueSelectionTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/ComboObservableValueSelectionTest.java,v retrieving revision 1.3 diff -u -r1.3 ComboObservableValueSelectionTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/ComboObservableValueSelectionTest.java 28 Sep 2007 15:30:11 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/ComboObservableValueSelectionTest.java 11 Feb 2008 06:37:38 -0000 @@ -13,14 +13,13 @@ import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; import org.eclipse.jface.databinding.swt.ISWTObservable; import org.eclipse.jface.databinding.swt.SWTObservables; @@ -67,14 +66,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests( - ComboObservableValueSelectionTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(ComboObservableValueSelectionTest.class.getName()); + suite.addTestSuite(ComboObservableValueSelectionTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/DelayedObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/DelayedObservableValueTest.java,v retrieving revision 1.1 diff -u -r1.1 DelayedObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/DelayedObservableValueTest.java 23 Jan 2008 21:11:33 -0000 1.1 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/DelayedObservableValueTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.Diffs; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; -import org.eclipse.jface.databinding.conformance.MutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.ObservableValueContractTest; +import org.eclipse.jface.databinding.conformance.ModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.DelayedObservableValue; @@ -231,11 +230,12 @@ } public static Test suite() { - return new SuiteBuilder().addTests(DelayedObservableValueTest.class) - .addObservableContractTest(ObservableValueContractTest.class, - new Delegate()).addObservableContractTest( - MutableObservableValueContractTest.class, - new Delegate()).build(); + TestSuite suite = new TestSuite(DelayedObservableValueTest.class + .getName()); + suite.addTestSuite(DelayedObservableValueTest.class); + suite.addTest(ModifiableObservableValueContractTest + .suite(new Delegate())); + return suite; } static class Delegate extends AbstractObservableValueContractDelegate { Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/ShellObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/ShellObservableValueTest.java,v retrieving revision 1.1 diff -u -r1.1 ShellObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/ShellObservableValueTest.java 10 Dec 2007 04:05:24 -0000 1.1 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/ShellObservableValueTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,14 +12,13 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; -import org.eclipse.jface.databinding.conformance.MutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.ObservableValueContractTest; +import org.eclipse.jface.databinding.conformance.ModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; import org.eclipse.jface.internal.databinding.internal.swt.ShellObservableValue; import org.eclipse.jface.tests.databinding.AbstractDefaultRealmTestCase; @@ -88,11 +87,12 @@ } public static Test suite() { - return new SuiteBuilder().addTests(ShellObservableValueTest.class) - .addObservableContractTest(ObservableValueContractTest.class, - new Delegate()).addObservableContractTest( - MutableObservableValueContractTest.class, - new Delegate()).build(); + TestSuite suite = new TestSuite(ShellObservableValueTest.class + .getName()); + suite.addTestSuite(ShellObservableValueTest.class); + suite.addTest(ModifiableObservableValueContractTest + .suite(new Delegate())); + return suite; } static class Delegate extends AbstractObservableValueContractDelegate { Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/TableSingleSelectionObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/TableSingleSelectionObservableValueTest.java,v retrieving revision 1.4 diff -u -r1.4 TableSingleSelectionObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/TableSingleSelectionObservableValueTest.java 3 Jan 2008 20:57:31 -0000 1.4 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/TableSingleSelectionObservableValueTest.java 11 Feb 2008 06:37:38 -0000 @@ -13,6 +13,7 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; @@ -20,9 +21,7 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.TableSingleSelectionObservableValue; import org.eclipse.swt.SWT; @@ -81,14 +80,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests( - TableSingleSelectionObservableValueTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(TableSingleSelectionObservableValueTest.class.getName()); + suite.addTestSuite(TableSingleSelectionObservableValueTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/ComboObservableValueTextTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/ComboObservableValueTextTest.java,v retrieving revision 1.3 diff -u -r1.3 ComboObservableValueTextTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/ComboObservableValueTextTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/ComboObservableValueTextTest.java 11 Feb 2008 06:37:38 -0000 @@ -13,14 +13,13 @@ import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; import org.eclipse.jface.databinding.swt.ISWTObservable; import org.eclipse.jface.databinding.swt.SWTObservables; @@ -67,13 +66,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests(ComboObservableValueTextTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(ComboObservableValueTextTest.class.getName()); + suite.addTestSuite(ComboObservableValueTextTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueSelectionTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueSelectionTest.java,v retrieving revision 1.3 diff -u -r1.3 SpinnerObservableValueSelectionTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueSelectionTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueSelectionTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.SWTProperties; import org.eclipse.jface.internal.databinding.internal.swt.SpinnerObservableValue; @@ -72,14 +71,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests( - SpinnerObservableValueSelectionTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(SpinnerObservableValueSelectionTest.class.getName()); + suite.addTestSuite(SpinnerObservableValueSelectionTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboObservableValueTextTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboObservableValueTextTest.java,v retrieving revision 1.3 diff -u -r1.3 CComboObservableValueTextTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboObservableValueTextTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboObservableValueTextTest.java 11 Feb 2008 06:37:37 -0000 @@ -13,14 +13,13 @@ import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; import org.eclipse.jface.databinding.swt.ISWTObservable; import org.eclipse.jface.databinding.swt.SWTObservables; @@ -66,13 +65,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests(CComboObservableValueTextTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(CComboObservableValueTextTest.class.getName()); + suite.addTestSuite(CComboObservableValueTextTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/ButtonObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/ButtonObservableValueTest.java,v retrieving revision 1.5 diff -u -r1.5 ButtonObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/ButtonObservableValueTest.java 6 Oct 2007 18:17:35 -0000 1.5 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/ButtonObservableValueTest.java 11 Feb 2008 06:37:37 -0000 @@ -13,14 +13,13 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; import org.eclipse.jface.internal.databinding.internal.swt.ButtonObservableValue; import org.eclipse.jface.tests.databinding.AbstractSWTTestCase; @@ -96,14 +95,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - - return new SuiteBuilder().addTests(ButtonObservableValueTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(ButtonObservableValueTest.class.getName()); + suite.addTestSuite(ButtonObservableValueTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboSingleSelectionObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboSingleSelectionObservableValueTest.java,v retrieving revision 1.4 diff -u -r1.4 CComboSingleSelectionObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboSingleSelectionObservableValueTest.java 28 Sep 2007 15:30:10 -0000 1.4 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboSingleSelectionObservableValueTest.java 11 Feb 2008 06:37:37 -0000 @@ -13,14 +13,13 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.ISWTObservable; import org.eclipse.jface.internal.databinding.internal.swt.CComboSingleSelectionObservableValue; import org.eclipse.jface.tests.databinding.AbstractSWTTestCase; @@ -31,7 +30,8 @@ /** * @since 3.2 */ -public class CComboSingleSelectionObservableValueTest extends AbstractSWTTestCase { +public class CComboSingleSelectionObservableValueTest extends + AbstractSWTTestCase { public void testSetValue() throws Exception { CCombo combo = new CCombo(getShell(), SWT.NONE); CComboSingleSelectionObservableValue observableValue = new CComboSingleSelectionObservableValue( @@ -52,15 +52,12 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - - return new SuiteBuilder().addTests( - CComboSingleSelectionObservableValueTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite( + CComboSingleSelectionObservableValueTest.class.getName()); + suite.addTestSuite(CComboSingleSelectionObservableValueTest.class); + suite.addTest(SWTModifiableObservableValueContractTest + .suite(new Delegate())); + return suite; } /* package */static class Delegate extends @@ -96,12 +93,12 @@ public Object createValue(IObservableValue observable) { return new Integer(_createValue(observable)); } - + private int _createValue(IObservableValue observable) { CCombo combo = ((CCombo) ((ISWTObservable) observable).getWidget()); int value = Math.max(0, combo.getSelectionIndex()); - - //returns either 0 or 1 depending upon current value + + // returns either 0 or 1 depending upon current value return Math.abs(value - 1); } } Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueMaxTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueMaxTest.java,v retrieving revision 1.3 diff -u -r1.3 ScaleObservableValueMaxTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueMaxTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueMaxTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.SWTProperties; import org.eclipse.jface.internal.databinding.internal.swt.ScaleObservableValue; @@ -73,13 +72,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests(ScaleObservableValueMaxTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(ScaleObservableValueMaxTest.class.getName()); + suite.addTestSuite(ScaleObservableValueMaxTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/CLabelObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/CLabelObservableValueTest.java,v retrieving revision 1.3 diff -u -r1.3 CLabelObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/CLabelObservableValueTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/CLabelObservableValueTest.java 11 Feb 2008 06:37:37 -0000 @@ -13,14 +13,13 @@ import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.CLabelObservableValue; import org.eclipse.swt.SWT; @@ -36,41 +35,42 @@ private Delegate delegate; private IObservableValue observable; private CLabel label; - + protected void setUp() throws Exception { super.setUp(); - + delegate = new Delegate(); delegate.setUp(); label = delegate.label; - observable = delegate.createObservableValue(SWTObservables.getRealm(Display.getDefault())); + observable = delegate.createObservableValue(SWTObservables + .getRealm(Display.getDefault())); } - + protected void tearDown() throws Exception { super.tearDown(); - + delegate.tearDown(); observable.dispose(); } - - public void testSetValue() throws Exception { - //preconditions - assertEquals("", label.getText()); - assertEquals("", observable.getValue()); - - String value = "value"; - observable.setValue(value); - assertEquals("label text", value, label.getText()); - assertEquals("observable value", value, observable.getValue()); - } - + + public void testSetValue() throws Exception { + // preconditions + assertEquals("", label.getText()); + assertEquals("", observable.getValue()); + + String value = "value"; + observable.setValue(value); + assertEquals("label text", value, label.getText()); + assertEquals("observable value", value, observable.getValue()); + } + public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(CLabelObservableValueTest.class + .getName()); + suite.addTestSuite(CLabelObservableValueTest.class); + suite.addTest(SWTModifiableObservableValueContractTest + .suite(new Delegate())); + return suite; } /* package */static class Delegate extends @@ -96,11 +96,11 @@ IObservableValue value = (IObservableValue) observable; value.setValue(value.getValue() + "a"); } - + public Object getValueType(IObservableValue observable) { return String.class; } - + public Object createValue(IObservableValue observable) { return observable.getValue() + "a"; } Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextEditableObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextEditableObservableValueTest.java,v retrieving revision 1.3 diff -u -r1.3 TextEditableObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextEditableObservableValueTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextEditableObservableValueTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.internal.databinding.internal.swt.TextEditableObservableValue; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Shell; @@ -77,13 +76,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests( - TextEditableObservableValueTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate).build(); + TestSuite suite = new TestSuite(TextEditableObservableValueTest.class.getName()); + suite.addTestSuite(TextEditableObservableValueTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /*package*/ static class Delegate extends AbstractObservableValueContractDelegate { Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueMaxTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueMaxTest.java,v retrieving revision 1.3 diff -u -r1.3 SpinnerObservableValueMaxTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueMaxTest.java 28 Sep 2007 15:30:11 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueMaxTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.SWTProperties; import org.eclipse.jface.internal.databinding.internal.swt.SpinnerObservableValue; @@ -72,13 +71,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests(SpinnerObservableValueMaxTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(SpinnerObservableValueMaxTest.class.getName()); + suite.addTestSuite(SpinnerObservableValueMaxTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends @@ -118,4 +114,4 @@ return new Integer(((Integer) observable.getValue()).intValue() + 1); } } -} +} \ No newline at end of file Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboObservableValueSelectionTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboObservableValueSelectionTest.java,v retrieving revision 1.3 diff -u -r1.3 CComboObservableValueSelectionTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboObservableValueSelectionTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/CComboObservableValueSelectionTest.java 11 Feb 2008 06:37:37 -0000 @@ -13,14 +13,13 @@ import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; import org.eclipse.jface.databinding.swt.ISWTObservable; import org.eclipse.jface.databinding.swt.SWTObservables; @@ -57,21 +56,20 @@ IObservableValue observable = (IObservableValue) delegate .createObservable(SWTObservables.getRealm(Display.getDefault())); - ValueChangeEventTracker listener = ValueChangeEventTracker.observe(observable); + ValueChangeEventTracker listener = ValueChangeEventTracker + .observe(observable); combo.select(0); assertEquals("Observable was not notified.", 1, listener.count); } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests( - CComboObservableValueSelectionTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite( + CComboObservableValueSelectionTest.class.getName()); + suite.addTestSuite(CComboObservableValueSelectionTest.class); + suite.addTest(SWTModifiableObservableValueContractTest + .suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueMinTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueMinTest.java,v retrieving revision 1.3 diff -u -r1.3 SpinnerObservableValueMinTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueMinTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/SpinnerObservableValueMinTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.SWTProperties; import org.eclipse.jface.internal.databinding.internal.swt.SpinnerObservableValue; @@ -72,13 +71,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests(SpinnerObservableValueMinTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(SpinnerObservableValueMinTest.class.getName()); + suite.addTestSuite(SpinnerObservableValueMinTest.class); + suite.addTest(SWTModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextObservableValueModifyTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextObservableValueModifyTest.java,v retrieving revision 1.1 diff -u -r1.1 TextObservableValueModifyTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextObservableValueModifyTest.java 6 Oct 2007 17:32:27 -0000 1.1 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextObservableValueModifyTest.java 11 Feb 2008 06:37:38 -0000 @@ -18,9 +18,7 @@ import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.internal.databinding.internal.swt.TextObservableValue; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Shell; @@ -31,12 +29,7 @@ */ public class TextObservableValueModifyTest extends TestCase { public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + return SWTModifiableObservableValueContractTest.suite(new Delegate()); } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueMinTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueMinTest.java,v retrieving revision 1.3 diff -u -r1.3 ScaleObservableValueMinTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueMinTest.java 28 Sep 2007 15:30:10 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueMinTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.SWTProperties; import org.eclipse.jface.internal.databinding.internal.swt.ScaleObservableValue; @@ -42,11 +41,11 @@ public ScaleObservableValueMinTest() { this(null); } - + public ScaleObservableValueMinTest(String testName) { super(testName, new Delegate()); } - + protected void setUp() throws Exception { super.setUp(); @@ -56,9 +55,10 @@ } protected IObservable doCreateObservable() { - return getObservableContractDelegate().createObservable(SWTObservables.getRealm(Display.getDefault())); + return getObservableContractDelegate().createObservable( + SWTObservables.getRealm(Display.getDefault())); } - + public void testGetValue() throws Exception { int min = 100; scale.setMinimum(min); @@ -72,13 +72,12 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests(ScaleObservableValueMinTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(ScaleObservableValueMinTest.class + .getName()); + suite.addTestSuite(ScaleObservableValueMinTest.class); + suite.addTest(SWTModifiableObservableValueContractTest + .suite(new Delegate())); + return suite; } /* package */static class Delegate extends Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueSelectionTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueSelectionTest.java,v retrieving revision 1.3 diff -u -r1.3 ScaleObservableValueSelectionTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueSelectionTest.java 28 Sep 2007 15:30:11 -0000 1.3 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/ScaleObservableValueSelectionTest.java 11 Feb 2008 06:37:38 -0000 @@ -12,15 +12,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.swt; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.ObservableDelegateTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.internal.databinding.internal.swt.SWTProperties; import org.eclipse.jface.internal.databinding.internal.swt.ScaleObservableValue; @@ -42,11 +41,11 @@ public ScaleObservableValueSelectionTest() { this(null); } - + public ScaleObservableValueSelectionTest(String testName) { super(testName, new Delegate()); } - + protected void setUp() throws Exception { super.setUp(); @@ -56,7 +55,8 @@ } protected IObservable doCreateObservable() { - return getObservableContractDelegate().createObservable(SWTObservables.getRealm(Display.getDefault())); + return getObservableContractDelegate().createObservable( + SWTObservables.getRealm(Display.getDefault())); } public void testGetValue() throws Exception { @@ -72,14 +72,12 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addTests( - ScaleObservableValueSelectionTest.class) - .addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(ScaleObservableValueSelectionTest.class + .getName()); + suite.addTestSuite(ScaleObservableValueSelectionTest.class); + suite.addTest(SWTModifiableObservableValueContractTest + .suite(new Delegate())); + return suite; } /* package */static class Delegate extends @@ -99,7 +97,8 @@ } public IObservableValue createObservableValue(Realm realm) { - return new ScaleObservableValue(realm, scale, SWTProperties.SELECTION); + return new ScaleObservableValue(realm, scale, + SWTProperties.SELECTION); } public void change(IObservable observable) { Index: src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextObservableValueFocusOutTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextObservableValueFocusOutTest.java,v retrieving revision 1.1 diff -u -r1.1 TextObservableValueFocusOutTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextObservableValueFocusOutTest.java 6 Oct 2007 17:32:27 -0000 1.1 +++ src/org/eclipse/jface/tests/internal/databinding/internal/swt/TextObservableValueFocusOutTest.java 11 Feb 2008 06:37:38 -0000 @@ -18,9 +18,7 @@ import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.swt.SWTMutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.swt.SWTObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.swt.SWTModifiableObservableValueContractTest; import org.eclipse.jface.internal.databinding.internal.swt.TextObservableValue; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Shell; @@ -31,12 +29,7 @@ */ public class TextObservableValueFocusOutTest extends TestCase { public static Test suite() { - Delegate delegate = new Delegate(); - return new SuiteBuilder().addObservableContractTest( - SWTObservableValueContractTest.class, delegate) - .addObservableContractTest( - SWTMutableObservableValueContractTest.class, delegate) - .build(); + return SWTModifiableObservableValueContractTest.suite(new Delegate()); } /* package */static class Delegate extends Index: src/org/eclipse/core/tests/internal/databinding/internal/beans/JavaBeanObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/core/tests/internal/databinding/internal/beans/JavaBeanObservableValueTest.java,v retrieving revision 1.7 diff -u -r1.7 JavaBeanObservableValueTest.java --- src/org/eclipse/core/tests/internal/databinding/internal/beans/JavaBeanObservableValueTest.java 20 Oct 2007 20:44:42 -0000 1.7 +++ src/org/eclipse/core/tests/internal/databinding/internal/beans/JavaBeanObservableValueTest.java 11 Feb 2008 06:37:37 -0000 @@ -17,6 +17,7 @@ import java.beans.PropertyDescriptor; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.beans.BeansObservables; import org.eclipse.core.databinding.observable.ChangeEvent; @@ -26,11 +27,9 @@ import org.eclipse.core.databinding.observable.value.ComputedValue; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.core.internal.databinding.internal.beans.JavaBeanObservableValue; -import org.eclipse.jface.databinding.conformance.MutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.ObservableValueContractTest; +import org.eclipse.jface.databinding.conformance.ModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; import org.eclipse.jface.databinding.conformance.util.ChangeEventTracker; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; import org.eclipse.jface.examples.databinding.model.SimplePerson; import org.eclipse.jface.tests.databinding.AbstractDefaultRealmTestCase; @@ -122,13 +121,10 @@ } public static Test suite() { - Object[] params = new Object[] {new Delegate()}; - - return new SuiteBuilder().addTests(JavaBeanObservableValueTest.class) - .addParameterizedTests(ObservableValueContractTest.class, - params).addParameterizedTests( - MutableObservableValueContractTest.class, params) - .build(); + TestSuite suite = new TestSuite(JavaBeanObservableValueTest.class.getName()); + suite.addTestSuite(JavaBeanObservableValueTest.class); + suite.addTest(ModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */ static class Delegate extends AbstractObservableValueContractDelegate { Index: src/org/eclipse/core/tests/databinding/observable/value/WritableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/core/tests/databinding/observable/value/WritableValueTest.java,v retrieving revision 1.3 diff -u -r1.3 WritableValueTest.java --- src/org/eclipse/core/tests/databinding/observable/value/WritableValueTest.java 28 Sep 2007 15:30:11 -0000 1.3 +++ src/org/eclipse/core/tests/databinding/observable/value/WritableValueTest.java 11 Feb 2008 06:37:37 -0000 @@ -13,15 +13,14 @@ package org.eclipse.core.tests.databinding.observable.value; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.core.databinding.observable.value.WritableValue; -import org.eclipse.jface.databinding.conformance.MutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.ObservableValueContractTest; +import org.eclipse.jface.databinding.conformance.ModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; import org.eclipse.jface.databinding.swt.SWTObservables; import org.eclipse.jface.tests.databinding.AbstractDefaultRealmTestCase; import org.eclipse.swt.widgets.Display; @@ -51,13 +50,10 @@ } public static Test suite() { - Delegate delegate = new Delegate(); - - return new SuiteBuilder().addTests(WritableValueTest.class) - .addObservableContractTest(ObservableValueContractTest.class, - delegate).addObservableContractTest( - MutableObservableValueContractTest.class, delegate) - .build(); + TestSuite suite = new TestSuite(WritableValueTest.class.toString()); + suite.addTestSuite(WritableValueTest.class); + suite.addTest(ModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } /* package */static class Delegate extends @@ -74,7 +70,7 @@ public Object getValueType(IObservableValue observable) { return String.class; } - + public Object createValue(IObservableValue observable) { return observable.getValue() + "a"; } Index: src/org/eclipse/jface/tests/internal/databinding/internal/viewers/ViewerInputObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/viewers/ViewerInputObservableValueTest.java,v retrieving revision 1.1 diff -u -r1.1 ViewerInputObservableValueTest.java --- src/org/eclipse/jface/tests/internal/databinding/internal/viewers/ViewerInputObservableValueTest.java 23 Jan 2008 22:08:38 -0000 1.1 +++ src/org/eclipse/jface/tests/internal/databinding/internal/viewers/ViewerInputObservableValueTest.java 11 Feb 2008 06:37:38 -0000 @@ -11,15 +11,14 @@ package org.eclipse.jface.tests.internal.databinding.internal.viewers; import junit.framework.Test; +import junit.framework.TestSuite; import org.eclipse.core.databinding.observable.IObservable; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.core.databinding.observable.value.ValueChangeEvent; -import org.eclipse.jface.databinding.conformance.MutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.ObservableValueContractTest; +import org.eclipse.jface.databinding.conformance.ModifiableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; import org.eclipse.jface.internal.databinding.internal.viewers.ViewerInputObservableValue; import org.eclipse.jface.tests.databinding.AbstractDefaultRealmTestCase; @@ -141,13 +140,10 @@ } public static Test suite() { - return new SuiteBuilder() - .addTests(ViewerInputObservableValueTest.class) - .addObservableContractTest( - ObservableValueContractTest.class, new Delegate()) - .addObservableContractTest( - MutableObservableValueContractTest.class, new Delegate()) - .build(); + TestSuite suite = new TestSuite(ViewerInputObservableValueTest.class.getName()); + suite.addTestSuite(ViewerInputObservableValueTest.class); + suite.addTest(ModifiableObservableValueContractTest.suite(new Delegate())); + return suite; } static class Delegate extends AbstractObservableValueContractDelegate { Index: src/org/eclipse/core/tests/internal/databinding/observable/StalenessObservableValueTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding/src/org/eclipse/core/tests/internal/databinding/observable/StalenessObservableValueTest.java,v retrieving revision 1.1 diff -u -r1.1 StalenessObservableValueTest.java --- src/org/eclipse/core/tests/internal/databinding/observable/StalenessObservableValueTest.java 23 Jan 2008 18:31:54 -0000 1.1 +++ src/org/eclipse/core/tests/internal/databinding/observable/StalenessObservableValueTest.java 11 Feb 2008 06:37:37 -0000 @@ -16,7 +16,7 @@ import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.core.internal.databinding.observable.StalenessObservableValue; -import org.eclipse.jface.databinding.conformance.ObservableValueContractTest; +import org.eclipse.jface.databinding.conformance.MutableObservableValueContractTest; import org.eclipse.jface.databinding.conformance.delegate.AbstractObservableValueContractDelegate; import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; @@ -31,7 +31,7 @@ public class StalenessObservableValueTest extends TestCase { public static Test suite() { return new SuiteBuilder().addObservableContractTest( - ObservableValueContractTest.class, new Delegate()).build(); + MutableObservableValueContractTest.class, new Delegate()).build(); } static class ObservableStub extends AbstractObservable { #P org.eclipse.jface.tests.databinding.conformance Index: src/org/eclipse/jface/databinding/conformance/swt/SWTMutableObservableValueContractTest.java =================================================================== RCS file: src/org/eclipse/jface/databinding/conformance/swt/SWTMutableObservableValueContractTest.java diff -N src/org/eclipse/jface/databinding/conformance/swt/SWTMutableObservableValueContractTest.java --- src/org/eclipse/jface/databinding/conformance/swt/SWTMutableObservableValueContractTest.java 26 Sep 2007 00:41:35 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 IBM Corporation 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 - ******************************************************************************/ - -package org.eclipse.jface.databinding.conformance.swt; - -import org.eclipse.core.databinding.observable.IObservable; -import org.eclipse.jface.databinding.conformance.MutableObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.delegate.IObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.util.DelegatingRealm; -import org.eclipse.jface.databinding.swt.SWTObservables; -import org.eclipse.swt.widgets.Display; - -/** - * Mutability tests for IObservableValue for a SWT widget. - * - *

- * This class is experimental and can change at any time. It is recommended to - * not subclass or assume the test names will not change. The only API that is - * guaranteed to not change are the constructors. The tests will remain public - * and not final in order to allow for consumers to turn off a test if needed by - * subclassing. - *

- * - * @since 3.2 - */ -public class SWTMutableObservableValueContractTest extends - MutableObservableValueContractTest { - private IObservableValueContractDelegate delegate; - - public SWTMutableObservableValueContractTest( - IObservableValueContractDelegate delegate) { - this(null, delegate); - } - - /** - * @param testName - * @param delegate - */ - public SWTMutableObservableValueContractTest(String testName, - IObservableValueContractDelegate delegate) { - super(testName, delegate); - this.delegate = delegate; - } - - /** - * Creates a new observable passing the realm for the current display. - * @return observable - */ - protected IObservable doCreateObservable() { - Display display = Display.getCurrent(); - if (display == null) { - display = new Display(); - } - DelegatingRealm delegateRealm = new DelegatingRealm(SWTObservables - .getRealm(display)); - delegateRealm.setCurrent(true); - - return delegate.createObservable(delegateRealm); - } -} Index: src/org/eclipse/jface/databinding/conformance/swt/SWTObservableValueContractTest.java =================================================================== RCS file: src/org/eclipse/jface/databinding/conformance/swt/SWTObservableValueContractTest.java diff -N src/org/eclipse/jface/databinding/conformance/swt/SWTObservableValueContractTest.java --- src/org/eclipse/jface/databinding/conformance/swt/SWTObservableValueContractTest.java 26 Sep 2007 00:41:35 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 IBM Corporation 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 - ******************************************************************************/ - -package org.eclipse.jface.databinding.conformance.swt; - -import org.eclipse.core.databinding.observable.IObservable; -import org.eclipse.jface.databinding.conformance.ObservableValueContractTest; -import org.eclipse.jface.databinding.conformance.delegate.IObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.util.DelegatingRealm; -import org.eclipse.jface.databinding.swt.SWTObservables; -import org.eclipse.swt.widgets.Display; - -/** - * Tests for IObservableValue that don't mutate the value. - *

- * This class is experimental and can change at any time. It is recommended to - * not subclass or assume the test names will not change. The only API that is - * guaranteed to not change are the constructors. The tests will remain public - * and not final in order to allow for consumers to turn off a test if needed by - * subclassing. - *

- * - * @since 3.2 - */ -public class SWTObservableValueContractTest extends ObservableValueContractTest { - private IObservableValueContractDelegate delegate; - - /** - * @param delegate - */ - public SWTObservableValueContractTest( - IObservableValueContractDelegate delegate) { - this(null, delegate); - } - - public SWTObservableValueContractTest(String testName, - IObservableValueContractDelegate delegate) { - super(testName, delegate); - this.delegate = delegate; - } - - /** - * Creates a new observable passing the realm for the current display. - * @return observable - */ - protected IObservable doCreateObservable() { - Display display = Display.getCurrent(); - if (display == null) { - display = new Display(); - } - DelegatingRealm delegateRealm = new DelegatingRealm(SWTObservables - .getRealm(display)); - delegateRealm.setCurrent(true); - - return delegate.createObservable(delegateRealm); - } -} Index: src/org/eclipse/jface/databinding/conformance/ObservableValueContractTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding.conformance/src/org/eclipse/jface/databinding/conformance/ObservableValueContractTest.java,v retrieving revision 1.1 diff -u -r1.1 ObservableValueContractTest.java --- src/org/eclipse/jface/databinding/conformance/ObservableValueContractTest.java 26 Sep 2007 00:41:35 -0000 1.1 +++ src/org/eclipse/jface/databinding/conformance/ObservableValueContractTest.java 11 Feb 2008 06:37:41 -0000 @@ -1,39 +1,35 @@ /******************************************************************************* - * Copyright (c) 2007 Brad Reynolds and others. + * Copyright (c) 2008 IBM Corporation 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: - * Brad Reynolds - initial API and implementation + * IBM Corporation - initial API and implementation ******************************************************************************/ package org.eclipse.jface.databinding.conformance; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.databinding.observable.ChangeEvent; -import org.eclipse.core.databinding.observable.IChangeListener; import org.eclipse.core.databinding.observable.value.IObservableValue; -import org.eclipse.core.databinding.observable.value.IValueChangeListener; -import org.eclipse.core.databinding.observable.value.ValueChangeEvent; +import org.eclipse.jface.databinding.conformance.delegate.IObservableContractDelegate; import org.eclipse.jface.databinding.conformance.delegate.IObservableValueContractDelegate; import org.eclipse.jface.databinding.conformance.util.CurrentRealm; import org.eclipse.jface.databinding.conformance.util.RealmTester; -import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; /** * @since 3.2 + * */ public class ObservableValueContractTest extends ObservableContractTest { - private IObservableValueContractDelegate delegate; - private IObservableValue observable; + protected IObservableValueContractDelegate delegate; + protected IObservableValue observable; - public ObservableValueContractTest(IObservableValueContractDelegate delegate) { + /** + * @param delegate + */ + public ObservableValueContractTest(IObservableContractDelegate delegate) { super(delegate); - this.delegate = delegate; } /** @@ -41,117 +37,20 @@ * @param delegate */ public ObservableValueContractTest(String testName, - IObservableValueContractDelegate delegate) { + IObservableContractDelegate delegate) { super(testName, delegate); - this.delegate = delegate; } - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.databinding.conformance.ObservableContractTest#setUp() - */ protected void setUp() throws Exception { super.setUp(); observable = (IObservableValue) getObservable(); } - public void testChange_ValueChangeEvent() throws Exception { - ValueChangeEventTracker listener = ValueChangeEventTracker.observe(observable); - - delegate.change(observable); - assertEquals(formatFail("On change value change listeners should be notified."), 1, - listener.count); - } - public void testGetValueType_ExpectedType() throws Exception { assertEquals(formatFail("Type of the value should be returned from getType()."), delegate.getValueType(observable), observable.getValueType()); } - public void testChange_OrderOfNotifications() throws Exception { - final List listeners = new ArrayList(); - IChangeListener changeListener = new IChangeListener() { - public void handleChange(ChangeEvent event) { - listeners.add(this); - } - }; - - IValueChangeListener valueChangeListener = new IValueChangeListener() { - public void handleValueChange(ValueChangeEvent event) { - listeners.add(this); - } - }; - - observable.addChangeListener(changeListener); - observable.addValueChangeListener(valueChangeListener); - - delegate.change(observable); - - assertTrue(formatFail("Change Listeners were not notified on change."), listeners.size() > 0); - - // not asserting the fact that both are notified as this is asserted in - // other tests - assertEquals( - formatFail("Change listeners should be notified before value change listeners."), - changeListener, listeners.get(0)); - assertEquals( - formatFail("Value change listeners should be notified after change listeners."), - valueChangeListener, listeners.get(1)); - } - - public void testChange_ValueChangeEventDiff() throws Exception { - ValueChangeEventTracker listener = ValueChangeEventTracker.observe(observable); - Object oldValue = observable.getValue(); - - delegate.change(observable); - - ValueChangeEvent event = listener.event; - - assertTrue(formatFail("Change Listeners were not notified on change."), listener.count > 0); - - assertEquals( - formatFail("When a value change event is fired the old value should be the previous value of the observable value."), - oldValue, event.diff.getOldValue()); - assertEquals( - formatFail("When a value change event is fired the new value should be the same as the current value of the observable value."), - observable.getValue(), event.diff.getNewValue()); - } - - public void testChange_ValueChangeEventFiredAfterValueIsSet() - throws Exception { - class ValueChangeListener implements IValueChangeListener { - Object value; - - public void handleValueChange(ValueChangeEvent event) { - this.value = event.getObservableValue().getValue(); - } - } - - ValueChangeListener listener = new ValueChangeListener(); - observable.addValueChangeListener(listener); - delegate.change(observable); - assertEquals( - formatFail("When a value change event is fired the new value should be applied before firing the change event."), - listener.value, observable.getValue()); - } - - public void testRemoveValueChangeListener_RemovesListener() throws Exception { - ValueChangeEventTracker listener = ValueChangeEventTracker.observe(observable); - delegate.change(observable); - - // precondition - assertEquals(formatFail("Value change listeners should be notified on change."), 1, - listener.count); - - observable.removeValueChangeListener(listener); - delegate.change(observable); - - assertEquals( - formatFail("Value change listeners should not be notified after they've been removed from the observable."), - 1, listener.count); - } - public void testGetValue_GetterCalled() throws Exception { assertGetterCalled(new Runnable() { public void run() { @@ -167,4 +66,4 @@ } }, (CurrentRealm) observable.getRealm()); } -} +} \ No newline at end of file Index: src/org/eclipse/jface/databinding/conformance/MutableObservableValueContractTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface.tests.databinding.conformance/src/org/eclipse/jface/databinding/conformance/MutableObservableValueContractTest.java,v retrieving revision 1.1 diff -u -r1.1 MutableObservableValueContractTest.java --- src/org/eclipse/jface/databinding/conformance/MutableObservableValueContractTest.java 26 Sep 2007 00:41:35 -0000 1.1 +++ src/org/eclipse/jface/databinding/conformance/MutableObservableValueContractTest.java 11 Feb 2008 06:37:41 -0000 @@ -1,104 +1,133 @@ /******************************************************************************* - * Copyright (c) 2007 IBM Corporation and others. + * Copyright (c) 2007 Brad Reynolds 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 + * Brad Reynolds - initial API and implementation ******************************************************************************/ package org.eclipse.jface.databinding.conformance; -import org.eclipse.core.databinding.observable.value.IObservableValue; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.databinding.observable.ChangeEvent; +import org.eclipse.core.databinding.observable.IChangeListener; +import org.eclipse.core.databinding.observable.value.IValueChangeListener; +import org.eclipse.core.databinding.observable.value.ValueChangeEvent; import org.eclipse.jface.databinding.conformance.delegate.IObservableValueContractDelegate; -import org.eclipse.jface.databinding.conformance.util.ChangeEventTracker; -import org.eclipse.jface.databinding.conformance.util.CurrentRealm; -import org.eclipse.jface.databinding.conformance.util.RealmTester; import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; /** - * Mutability tests for IObservableValue. - * - *

- * This class is experimental and can change at any time. It is recommended to - * not subclass or assume the test names will not change. The only API that is - * guaranteed to not change are the constructors. The tests will remain public - * and not final in order to allow for consumers to turn off a test if needed by - * subclassing. - *

- * * @since 3.2 */ -public class MutableObservableValueContractTest extends - ObservableDelegateTest { - private IObservableValueContractDelegate delegate; - - private IObservableValue observable; +public class MutableObservableValueContractTest extends ObservableValueContractTest { + public MutableObservableValueContractTest(IObservableValueContractDelegate delegate) { + super(delegate); + this.delegate = delegate; + } /** + * @param testName * @param delegate */ - public MutableObservableValueContractTest( - IObservableValueContractDelegate delegate) { - this(null, delegate); - } - public MutableObservableValueContractTest(String testName, IObservableValueContractDelegate delegate) { super(testName, delegate); this.delegate = delegate; } - protected void setUp() throws Exception { - super.setUp(); + public void testChange_ValueChangeEvent() throws Exception { + ValueChangeEventTracker listener = ValueChangeEventTracker.observe(observable); - this.observable = (IObservableValue) getObservable(); + delegate.change(observable); + assertEquals(formatFail("On change value change listeners should be notified."), 1, + listener.count); } - public void testSetValue_SetsValue() throws Exception { - Object value = delegate.createValue(observable); - - observable.setValue(value); - assertEquals(formatFail("IObservableValue.setValue(Object) should set the value of the observable."), value, observable.getValue()); - } - - public void testSetValue_ChangeEvent() throws Exception { - ChangeEventTracker listener = ChangeEventTracker.observe(observable); + public void testChange_OrderOfNotifications() throws Exception { + final List listeners = new ArrayList(); + IChangeListener changeListener = new IChangeListener() { + public void handleChange(ChangeEvent event) { + listeners.add(this); + } + }; + + IValueChangeListener valueChangeListener = new IValueChangeListener() { + public void handleValueChange(ValueChangeEvent event) { + listeners.add(this); + } + }; + + observable.addChangeListener(changeListener); + observable.addValueChangeListener(valueChangeListener); + + delegate.change(observable); - observable.setValue(delegate.createValue(observable)); + assertTrue(formatFail("Change Listeners were not notified on change."), listeners.size() > 0); - assertEquals(formatFail("Change event listeners were not notified"), 1, listener.count); - assertEquals(formatFail("IObservableValue.setValue(Object) should fire one ChangeEvent."), 1, - listener.count); + // not asserting the fact that both are notified as this is asserted in + // other tests assertEquals( - formatFail("IObservableValue.setValue(Object)'s change event observable should be the created observable."), - observable, listener.event.getObservable()); + formatFail("Change listeners should be notified before value change listeners."), + changeListener, listeners.get(0)); + assertEquals( + formatFail("Value change listeners should be notified after change listeners."), + valueChangeListener, listeners.get(1)); } - - public void testSetValue_SameValue() throws Exception { - // invoke change to ensure observable has a value - delegate.change(observable); - ValueChangeEventTracker valueChangeListener = ValueChangeEventTracker.observe(observable); - ChangeEventTracker changeListener = ChangeEventTracker.observe(observable); - Object value = observable.getValue(); - observable.setValue(value); + public void testChange_ValueChangeEventDiff() throws Exception { + ValueChangeEventTracker listener = ValueChangeEventTracker.observe(observable); + Object oldValue = observable.getValue(); + delegate.change(observable); + + ValueChangeEvent event = listener.event; + + assertTrue(formatFail("Change Listeners were not notified on change."), listener.count > 0); + assertEquals( - formatFail("IObservableValue.setValue() should not fire a value change event when the value has not change."), - 0, valueChangeListener.count); + formatFail("When a value change event is fired the old value should be the previous value of the observable value."), + oldValue, event.diff.getOldValue()); assertEquals( - formatFail("IObservableValue.setValue() should not fire a change event when the value has not change."), - 0, changeListener.count); + formatFail("When a value change event is fired the new value should be the same as the current value of the observable value."), + observable.getValue(), event.diff.getNewValue()); } - - public void testSetValue_RealmChecks() throws Exception { - RealmTester.exerciseCurrent(new Runnable() { - public void run() { - observable.setValue(delegate.createValue(observable)); + + public void testChange_ValueChangeEventFiredAfterValueIsSet() + throws Exception { + class ValueChangeListener implements IValueChangeListener { + Object value; + + public void handleValueChange(ValueChangeEvent event) { + this.value = event.getObservableValue().getValue(); } - }, (CurrentRealm) observable.getRealm()); + } + + ValueChangeListener listener = new ValueChangeListener(); + observable.addValueChangeListener(listener); + delegate.change(observable); + assertEquals( + formatFail("When a value change event is fired the new value should be applied before firing the change event."), + listener.value, observable.getValue()); + } + + public void testRemoveValueChangeListener_RemovesListener() throws Exception { + ValueChangeEventTracker listener = ValueChangeEventTracker.observe(observable); + delegate.change(observable); + + // precondition + assertEquals(formatFail("Value change listeners should be notified on change."), 1, + listener.count); + + observable.removeValueChangeListener(listener); + delegate.change(observable); + + assertEquals( + formatFail("Value change listeners should not be notified after they've been removed from the observable."), + 1, listener.count); } } Index: src/org/eclipse/jface/databinding/conformance/ModifiableObservableValueContractTest.java =================================================================== RCS file: src/org/eclipse/jface/databinding/conformance/ModifiableObservableValueContractTest.java diff -N src/org/eclipse/jface/databinding/conformance/ModifiableObservableValueContractTest.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/jface/databinding/conformance/ModifiableObservableValueContractTest.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,106 @@ +/******************************************************************************* + * Copyright (c) 2007 IBM Corporation 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 + ******************************************************************************/ + +package org.eclipse.jface.databinding.conformance; + +import junit.framework.Test; + +import org.eclipse.jface.databinding.conformance.delegate.IObservableValueContractDelegate; +import org.eclipse.jface.databinding.conformance.util.ChangeEventTracker; +import org.eclipse.jface.databinding.conformance.util.CurrentRealm; +import org.eclipse.jface.databinding.conformance.util.RealmTester; +import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.conformance.util.ValueChangeEventTracker; + +/** + * Contract tests for a modifiable IObservableValue. + * + *

+ * This class is experimental and can change at any time. It is recommended to + * not subclass or assume the test names will not change. The only API that is + * guaranteed to not change are the constructors. The tests will remain public + * and not final in order to allow for consumers to turn off a test if needed by + * subclassing. + *

+ * + * @since 3.2 + */ +public class ModifiableObservableValueContractTest extends + MutableObservableValueContractTest { + public static Test suite(IObservableValueContractDelegate delegate) { + return new SuiteBuilder().addObservableContractTest( + ModifiableObservableValueContractTest.class, delegate).build(); + } + + /** + * @param delegate + */ + public ModifiableObservableValueContractTest( + IObservableValueContractDelegate delegate) { + super(delegate); + } + + public ModifiableObservableValueContractTest(String testName, + IObservableValueContractDelegate delegate) { + super(testName, delegate); + } + + public void testSetValue_SetsValue() throws Exception { + Object value = delegate.createValue(observable); + + observable.setValue(value); + assertEquals( + formatFail("IObservableValue.setValue(Object) should set the value of the observable."), + value, observable.getValue()); + } + + public void testSetValue_ChangeEvent() throws Exception { + ChangeEventTracker listener = ChangeEventTracker.observe(observable); + + observable.setValue(delegate.createValue(observable)); + + assertEquals(formatFail("Change event listeners were not notified"), 1, + listener.count); + assertEquals( + formatFail("IObservableValue.setValue(Object) should fire one ChangeEvent."), + 1, listener.count); + assertEquals( + formatFail("IObservableValue.setValue(Object)'s change event observable should be the created observable."), + observable, listener.event.getObservable()); + } + + public void testSetValue_SameValue() throws Exception { + // invoke change to ensure observable has a value + delegate.change(observable); + + ValueChangeEventTracker valueChangeListener = ValueChangeEventTracker + .observe(observable); + ChangeEventTracker changeListener = ChangeEventTracker + .observe(observable); + Object value = observable.getValue(); + observable.setValue(value); + + assertEquals( + formatFail("IObservableValue.setValue() should not fire a value change event when the value has not change."), + 0, valueChangeListener.count); + assertEquals( + formatFail("IObservableValue.setValue() should not fire a change event when the value has not change."), + 0, changeListener.count); + } + + public void testSetValue_RealmChecks() throws Exception { + RealmTester.exerciseCurrent(new Runnable() { + public void run() { + observable.setValue(delegate.createValue(observable)); + } + }, (CurrentRealm) observable.getRealm()); + } +} Index: src/org/eclipse/jface/databinding/conformance/swt/SWTModifiableObservableValueContractTest.java =================================================================== RCS file: src/org/eclipse/jface/databinding/conformance/swt/SWTModifiableObservableValueContractTest.java diff -N src/org/eclipse/jface/databinding/conformance/swt/SWTModifiableObservableValueContractTest.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/jface/databinding/conformance/swt/SWTModifiableObservableValueContractTest.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright (c) 2007 IBM Corporation 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 + ******************************************************************************/ + +package org.eclipse.jface.databinding.conformance.swt; + +import junit.framework.Test; + +import org.eclipse.core.databinding.observable.IObservable; +import org.eclipse.jface.databinding.conformance.ModifiableObservableValueContractTest; +import org.eclipse.jface.databinding.conformance.delegate.IObservableValueContractDelegate; +import org.eclipse.jface.databinding.conformance.util.DelegatingRealm; +import org.eclipse.jface.databinding.conformance.util.SuiteBuilder; +import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.swt.widgets.Display; + +/** + * Mutability tests for IObservableValue for a SWT widget. + * + *

+ * This class is experimental and can change at any time. It is recommended to + * not subclass or assume the test names will not change. The only API that is + * guaranteed to not change are the constructors. The tests will remain public + * and not final in order to allow for consumers to turn off a test if needed by + * subclassing. + *

+ * + * @since 3.2 + */ +public class SWTModifiableObservableValueContractTest extends + ModifiableObservableValueContractTest { + private IObservableValueContractDelegate delegate; + + public SWTModifiableObservableValueContractTest( + IObservableValueContractDelegate delegate) { + this(null, delegate); + } + + /** + * @param testName + * @param delegate + */ + public SWTModifiableObservableValueContractTest(String testName, + IObservableValueContractDelegate delegate) { + super(testName, delegate); + this.delegate = delegate; + } + + /** + * Creates a new observable passing the realm for the current display. + * + * @return observable + */ + protected IObservable doCreateObservable() { + Display display = Display.getCurrent(); + if (display == null) { + display = new Display(); + } + DelegatingRealm delegateRealm = new DelegatingRealm(SWTObservables + .getRealm(display)); + delegateRealm.setCurrent(true); + + return delegate.createObservable(delegateRealm); + } + + public static Test suite(IObservableValueContractDelegate delegate) { + return new SuiteBuilder().addObservableContractTest( + SWTModifiableObservableValueContractTest.class, delegate) + .build(); + } +}