This is the mail archive of the
mauve-patches@sourceware.org
mailing list for the Mauve project.
FYI: ButtonGroup tests
- From: David Gilbert <david dot gilbert at object-refinery dot com>
- To: mauve-patches <mauve-patches at sources dot redhat dot com>
- Date: Tue, 11 Jul 2006 15:41:25 +0100
- Subject: FYI: ButtonGroup tests
This patch (committed) adds some new tests for the ButtonGroup class:
2006-07-11 David Gilbert <david.gilbert@object-refinery.com>
* gnu/testlet/javax/swing/ButtonGroup/add.java: New file,
* gnu/testlet/javax/swing/ButtonGroup/constructor.java: New file,
* gnu/testlet/javax/swing/ButtonGroup/getButtonCount.java: New file,
* gnu/testlet/javax/swing/ButtonGroup/getElements.java: New file,
* gnu/testlet/javax/swing/ButtonGroup/getSelection.java: New file,
* gnu/testlet/javax/swing/ButtonGroup/isSelected.java: New file,
* gnu/testlet/javax/swing/ButtonGroup/remove.java: New file,
* gnu/testlet/javax/swing/ButtonGroup/setSelected.java: New file.
Regards,
Dave
Index: gnu/testlet/javax/swing/ButtonGroup/add.java
===================================================================
RCS file: gnu/testlet/javax/swing/ButtonGroup/add.java
diff -N gnu/testlet/javax/swing/ButtonGroup/add.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/ButtonGroup/add.java 11 Jul 2006 14:35:34 -0000
@@ -0,0 +1,69 @@
+/* add.java -- some checks for the add() method in the ButtonGroup class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.4
+
+package gnu.testlet.javax.swing.ButtonGroup;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import javax.swing.ButtonGroup;
+import javax.swing.DefaultButtonModel;
+import javax.swing.JToggleButton;
+
+public class add implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ ButtonGroup g = new ButtonGroup();
+
+ // add a button that is not selected
+ JToggleButton b1 = new JToggleButton("B1");
+ g.add(b1);
+ harness.check(g.getButtonCount(), 1);
+ harness.check(g.getSelection(), null);
+ harness.check(((DefaultButtonModel) b1.getModel()).getGroup(), g);
+
+ // add a button that is selected
+ JToggleButton b2 = new JToggleButton("B2");
+ b2.setSelected(true);
+ g.add(b2);
+ harness.check(g.getButtonCount(), 2);
+ harness.check(g.getSelection(), b2.getModel());
+ harness.check(((DefaultButtonModel) b2.getModel()).getGroup(), g);
+
+ // add another button that is selected
+ JToggleButton b3 = new JToggleButton("B2");
+ b3.setSelected(true);
+ g.add(b3);
+ harness.check(g.getButtonCount(), 3);
+ harness.check(g.getSelection(), b2.getModel());
+ harness.check(b2.isSelected(), true);
+ harness.check(b3.isSelected(), false);
+ harness.check(((DefaultButtonModel) b3.getModel()).getGroup(), g);
+
+ // try null
+ g.add(null);
+ harness.check(g.getButtonCount(), 3);
+ harness.check(g.getSelection(), b2.getModel());
+ }
+}
Index: gnu/testlet/javax/swing/ButtonGroup/constructor.java
===================================================================
RCS file: gnu/testlet/javax/swing/ButtonGroup/constructor.java
diff -N gnu/testlet/javax/swing/ButtonGroup/constructor.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/ButtonGroup/constructor.java 11 Jul 2006 14:35:34 -0000
@@ -0,0 +1,39 @@
+/* constructor.java -- some checks for the constructor in the ButtonGroup class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.4
+
+package gnu.testlet.javax.swing.ButtonGroup;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import javax.swing.ButtonGroup;
+
+public class constructor implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ ButtonGroup bg = new ButtonGroup();
+ harness.check(bg.getButtonCount(), 0);
+ harness.check(bg.getSelection(), null);
+ }
+}
Index: gnu/testlet/javax/swing/ButtonGroup/getButtonCount.java
===================================================================
RCS file: gnu/testlet/javax/swing/ButtonGroup/getButtonCount.java
diff -N gnu/testlet/javax/swing/ButtonGroup/getButtonCount.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/ButtonGroup/getButtonCount.java 11 Jul 2006 14:35:34 -0000
@@ -0,0 +1,50 @@
+/* getButtonCount.java -- some checks for the getButtonCount() method in the
+ ButtonGroup class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.4
+
+package gnu.testlet.javax.swing.ButtonGroup;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import javax.swing.ButtonGroup;
+import javax.swing.JToggleButton;
+
+public class getButtonCount implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ ButtonGroup g = new ButtonGroup();
+ harness.check(g.getButtonCount(), 0);
+ JToggleButton b1 = new JToggleButton("B1");
+ g.add(b1);
+ harness.check(g.getButtonCount(), 1);
+ JToggleButton b2 = new JToggleButton("B2");
+ g.add(b2);
+ harness.check(g.getButtonCount(), 2);
+ g.remove(b2);
+ harness.check(g.getButtonCount(), 1);
+ g.remove(b1);
+ harness.check(g.getButtonCount(), 0);
+ }
+}
Index: gnu/testlet/javax/swing/ButtonGroup/getElements.java
===================================================================
RCS file: gnu/testlet/javax/swing/ButtonGroup/getElements.java
diff -N gnu/testlet/javax/swing/ButtonGroup/getElements.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/ButtonGroup/getElements.java 11 Jul 2006 14:35:34 -0000
@@ -0,0 +1,56 @@
+/* getElements.java -- some checks for the getElements() method in the
+ ButtonGroup class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.4
+
+package gnu.testlet.javax.swing.ButtonGroup;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.util.Enumeration;
+
+import javax.swing.ButtonGroup;
+import javax.swing.JToggleButton;
+
+public class getElements implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ ButtonGroup g = new ButtonGroup();
+ Enumeration e = g.getElements();
+ harness.check(e.hasMoreElements(), false);
+
+ JToggleButton b1 = new JToggleButton("B1");
+ g.add(b1);
+ e = g.getElements();
+ harness.check(e.nextElement(), b1);
+ harness.check(e.hasMoreElements(), false);
+
+ JToggleButton b2 = new JToggleButton("B2");
+ g.add(b2);
+ e = g.getElements();
+ harness.check(e.nextElement(), b1);
+ harness.check(e.nextElement(), b2);
+ harness.check(e.hasMoreElements(), false);
+ }
+}
Index: gnu/testlet/javax/swing/ButtonGroup/getSelection.java
===================================================================
RCS file: gnu/testlet/javax/swing/ButtonGroup/getSelection.java
diff -N gnu/testlet/javax/swing/ButtonGroup/getSelection.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/ButtonGroup/getSelection.java 11 Jul 2006 14:35:34 -0000
@@ -0,0 +1,47 @@
+/* getSelection.java -- some checks for the getSelection() method in the
+ ButtonGroup class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.4
+
+package gnu.testlet.javax.swing.ButtonGroup;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import javax.swing.ButtonGroup;
+import javax.swing.JToggleButton;
+
+public class getSelection implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ ButtonGroup g = new ButtonGroup();
+ harness.check(g.getSelection(), null);
+ JToggleButton b1 = new JToggleButton("B1");
+ g.add(b1);
+ harness.check(g.getSelection(), null);
+ JToggleButton b2 = new JToggleButton("B2");
+ b2.setSelected(true);
+ g.add(b2);
+ harness.check(g.getSelection(), b2.getModel());
+ }
+}
Index: gnu/testlet/javax/swing/ButtonGroup/isSelected.java
===================================================================
RCS file: gnu/testlet/javax/swing/ButtonGroup/isSelected.java
diff -N gnu/testlet/javax/swing/ButtonGroup/isSelected.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/ButtonGroup/isSelected.java 11 Jul 2006 14:35:34 -0000
@@ -0,0 +1,56 @@
+/* isSelected.java -- some checks for the isSelected() method in the
+ ButtonGroup class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JD1.4
+
+package gnu.testlet.javax.swing.ButtonGroup;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import javax.swing.ButtonGroup;
+import javax.swing.DefaultButtonModel;
+import javax.swing.JToggleButton;
+
+public class isSelected implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ ButtonGroup g = new ButtonGroup();
+ harness.check(g.isSelected(new DefaultButtonModel()), false);
+ JToggleButton b1 = new JToggleButton("B1");
+ g.add(b1);
+ harness.check(g.isSelected(b1.getModel()), false);
+ b1.getModel().setSelected(true);
+ harness.check(g.isSelected(b1.getModel()), true);
+ JToggleButton b2 = new JToggleButton("B2");
+ b2.setSelected(true);
+ g.add(b2);
+ harness.check(g.isSelected(b2.getModel()), false);
+ b2.getModel().setSelected(true);
+ harness.check(g.isSelected(b1.getModel()), false);
+ harness.check(g.isSelected(b2.getModel()), true);
+
+ // try null
+ harness.check(g.isSelected(null), false);
+ }
+}
Index: gnu/testlet/javax/swing/ButtonGroup/remove.java
===================================================================
RCS file: gnu/testlet/javax/swing/ButtonGroup/remove.java
diff -N gnu/testlet/javax/swing/ButtonGroup/remove.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/ButtonGroup/remove.java 11 Jul 2006 14:35:34 -0000
@@ -0,0 +1,61 @@
+/* remove.java -- some checks for the remove() method in the ButtonGroup class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.4
+
+package gnu.testlet.javax.swing.ButtonGroup;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import javax.swing.ButtonGroup;
+import javax.swing.DefaultButtonModel;
+import javax.swing.JToggleButton;
+
+public class remove implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ ButtonGroup g = new ButtonGroup();
+
+ // add a button that is not selected
+ JToggleButton b1 = new JToggleButton("B1");
+ g.add(b1);
+ g.remove(b1);
+ harness.check(g.getButtonCount(), 0);
+ harness.check(g.getSelection(), null);
+ harness.check(((DefaultButtonModel) b1.getModel()).getGroup(), null);
+
+ g.add(b1);
+ JToggleButton b2 = new JToggleButton("B2");
+ b2.setSelected(true);
+ g.add(b2);
+ g.remove(b2);
+ harness.check(g.getButtonCount(), 1);
+ harness.check(g.getSelection(), null);
+ harness.check(((DefaultButtonModel) b2.getModel()).getGroup(), null);
+
+ // try null
+ g.remove(null);
+ harness.check(g.getButtonCount(), 1);
+ harness.check(g.getSelection(), null);
+ }
+}
Index: gnu/testlet/javax/swing/ButtonGroup/setSelected.java
===================================================================
RCS file: gnu/testlet/javax/swing/ButtonGroup/setSelected.java
diff -N gnu/testlet/javax/swing/ButtonGroup/setSelected.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/ButtonGroup/setSelected.java 11 Jul 2006 14:35:34 -0000
@@ -0,0 +1,102 @@
+/* setSelected.java -- some checks for the setSelected() method in the
+ ButtonGroup class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.4
+
+package gnu.testlet.javax.swing.ButtonGroup;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import javax.swing.ButtonGroup;
+import javax.swing.ButtonModel;
+import javax.swing.JToggleButton;
+
+public class setSelected implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+
+ ButtonGroup g1 = new ButtonGroup();
+ JToggleButton b1 = new JToggleButton("B1");
+ ButtonModel m1 = b1.getModel();
+ g1.add(b1);
+ harness.check(m1.isSelected(), false);
+ g1.setSelected(m1, false);
+ harness.check(b1.isSelected(), false);
+ harness.check(g1.isSelected(m1), false);
+ harness.check(g1.getSelection(), null);
+
+ ButtonGroup g2 = new ButtonGroup();
+ JToggleButton b2 = new JToggleButton("B2");
+ ButtonModel m2 = b2.getModel();
+ g2.add(b2);
+ harness.check(m2.isSelected(), false);
+ g2.setSelected(m2, true);
+ harness.check(b2.isSelected(), true);
+ harness.check(g2.isSelected(m2), true);
+ harness.check(g2.getSelection(), m2);
+
+ ButtonGroup g3 = new ButtonGroup();
+ JToggleButton b3 = new JToggleButton("B3");
+ b3.setSelected(true);
+ ButtonModel m3 = b3.getModel();
+ g3.add(b3);
+ harness.check(m3.isSelected(), true);
+ g3.setSelected(m3, false);
+ harness.check(b3.isSelected(), true);
+ harness.check(g3.isSelected(m3), true);
+ harness.check(g3.getSelection(), m3);
+
+ ButtonGroup g4 = new ButtonGroup();
+ JToggleButton b4 = new JToggleButton("B4");
+ b4.setSelected(true);
+ ButtonModel m4 = b4.getModel();
+ g4.add(b4);
+ harness.check(m4.isSelected(), true);
+ g4.setSelected(m4, false);
+ harness.check(b4.isSelected(), true);
+ harness.check(g4.isSelected(m4), true);
+ harness.check(g4.getSelection(), m4);
+
+ // now work with a second button...
+ JToggleButton b5 = new JToggleButton("B5");
+ ButtonModel m5 = b5.getModel();
+ g4.add(b5);
+ harness.check(g4.isSelected(m5), false);
+ // the following does nothing, because 'false' says we don't change the
+ // state of the incoming model...
+ g4.setSelected(m5, false);
+ harness.check(b4.isSelected(), true);
+ harness.check(g4.isSelected(m4), true);
+ harness.check(g4.getSelection(), m4);
+
+ // whereas this changes the selection...
+ g4.setSelected(m5, true);
+ harness.check(b4.isSelected(), false);
+ harness.check(b5.isSelected(), true);
+ harness.check(g4.isSelected(m4), false);
+ harness.check(g4.isSelected(m5), true);
+ harness.check(g4.getSelection(), m5);
+
+ }
+}