This is the mail archive of the mauve-patches@sourceware.org mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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);
+    
+  }
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]