From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11956 invoked by alias); 12 Apr 2006 10:54:13 -0000 Received: (qmail 11945 invoked by uid 22791); 12 Apr 2006 10:54:11 -0000 X-Spam-Check-By: sourceware.org Received: from outmail128183.authsmtp.com (HELO outmail128183.authsmtp.com) (62.13.128.183) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 12 Apr 2006 10:54:08 +0000 Received: from [192.168.1.65] (host217-37-65-246.in-addr.btopenworld.com [217.37.65.246]) (authenticated bits=0) by squirrel.dmpriest.net.uk (8.13.6/8.13.6/Kp) with ESMTP id k3CAs455098118 for ; Wed, 12 Apr 2006 11:54:04 +0100 (BST) Message-ID: <443CDC84.4050709@object-refinery.com> Date: Wed, 12 Apr 2006 10:54:00 -0000 From: David Gilbert User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051013) MIME-Version: 1.0 To: mauve-patches@sources.redhat.com Subject: FYI: some new BitSet tests Content-Type: multipart/mixed; boundary="------------010602050405010609040406" X-Server-Quench: a8dd04e5-ca12-11da-b770-001185d377ca X-Authentic-SMTP: 61633132333134.squirrel.dmpriest.net.uk:1.47/Kp X-Powered-By: AuthSMTP - http://www.authsmtp.com - Authenticated SMTP Mail Relay X-Report-SPAM: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-Virus-Status: No virus detected - but ensure you scan with your own anti-virus system! X-IsSubscribed: yes Mailing-List: contact mauve-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: mauve-patches-owner@sourceware.org X-SW-Source: 2006/txt/msg00285.txt.bz2 This is a multi-part message in MIME format. --------------010602050405010609040406 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 467 This patch (committed) adds a few extra tests for the BitSet class. There is one failure (in the get(int, int) method), I'll submit a bug report for it shortly. 2006-04-12 David Gilbert * gnu/testlet/java/util/BitSet/clear.java: New file, * gnu/testlet/java/util/BitSet/flip.java: New file, * gnu/testlet/java/util/BitSet/get.java: New file, * gnu/testlet/java/util/BitSet/Get.java: Merged with get.java. Regards, Dave --------------010602050405010609040406 Content-Type: text/plain; name="diff.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diff.txt" Content-length: 10799 Index: gnu/testlet/java/util/BitSet/Get.java =================================================================== RCS file: gnu/testlet/java/util/BitSet/Get.java diff -N gnu/testlet/java/util/BitSet/Get.java --- gnu/testlet/java/util/BitSet/Get.java 9 May 2005 21:37:07 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,52 +0,0 @@ -// Tags: JDK1.4 - -/* Copyright (C) 2005 David Daney - - 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, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -package gnu.testlet.java.util.BitSet; - -import gnu.testlet.Testlet; -import gnu.testlet.TestHarness; -import java.util.BitSet; - -public class Get implements Testlet -{ - public void test ( TestHarness harness ) - { - BitSet o = new BitSet(70); - o.set(1); - o.set(2); - o.set(63); - o.set(64); - - BitSet s1 = o.get(0, 9); - harness.check(s1.cardinality(), 2); - harness.check(s1.get(0), false); - harness.check(s1.get(1), true); - harness.check(s1.get(2), true); - harness.check(s1.get(3), false); - - BitSet s2 = o.get(60, 69); - harness.check(s2.cardinality(), 2); - harness.check(s2.get(2), false); - harness.check(s2.get(3), true); - harness.check(s2.get(4), true); - harness.check(s2.get(5), false); - } -} Index: gnu/testlet/java/util/BitSet/clear.java =================================================================== RCS file: gnu/testlet/java/util/BitSet/clear.java diff -N gnu/testlet/java/util/BitSet/clear.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnu/testlet/java/util/BitSet/clear.java 12 Apr 2006 10:41:54 -0000 @@ -0,0 +1,109 @@ +/* clear.java -- some checks for the clear() methods in the BitSet class. + Copyright (C) 2006 David Gilbert +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.java.util.BitSet; + +import gnu.testlet.TestHarness; +import gnu.testlet.Testlet; + +import java.util.BitSet; + +public class clear implements Testlet +{ + public void test(TestHarness harness) + { + test1(harness); + test2(harness); + test3(harness); + } + + private void test1(TestHarness harness) + { + harness.checkPoint("()"); + BitSet bs = new BitSet(8); + bs.set(1); + bs.clear(); + harness.check(bs.isEmpty()); + } + + private void test2(TestHarness harness) + { + harness.checkPoint("(int)"); + BitSet bs = new BitSet(7); + bs.set(6); + bs.clear(6); + harness.check(bs.isEmpty()); + + boolean pass = false; + try + { + bs.clear(-1); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + + bs.clear(7); + harness.check(bs.nextClearBit(7), 7); + } + + private void test3(TestHarness harness) + { + harness.checkPoint("(int, int)"); + BitSet bs = new BitSet(9); + bs.set(3); + bs.set(4); + bs.set(5); + bs.clear(2, 4); + harness.check(!bs.get(3)); + harness.check(bs.get(4)); + harness.check(bs.get(5)); + + bs.clear(5, 5); + harness.check(bs.get(5)); + + boolean pass = false; + try + { + bs.clear(-1, 2); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + + pass = false; + try + { + bs.clear(2, 1); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + } +} Index: gnu/testlet/java/util/BitSet/flip.java =================================================================== RCS file: gnu/testlet/java/util/BitSet/flip.java diff -N gnu/testlet/java/util/BitSet/flip.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnu/testlet/java/util/BitSet/flip.java 12 Apr 2006 10:41:54 -0000 @@ -0,0 +1,93 @@ +/* flip.java -- some checks for the flip() method in the BitSet clas. + Copyright (C) 2006 David Gilbert +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.java.util.BitSet; + +import gnu.testlet.TestHarness; +import gnu.testlet.Testlet; + +import java.util.BitSet; + +public class flip implements Testlet +{ + public void test(TestHarness harness) + { + test1(harness); + test2(harness); + } + + public void test1(TestHarness harness) + { + harness.checkPoint("(int)"); + BitSet bs = new BitSet(17); + bs.flip(11); + harness.check(bs.nextSetBit(0), 11); + + boolean pass = false; + try + { + bs.flip(-1); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + } + + public void test2(TestHarness harness) + { + harness.checkPoint("(int, int)"); + BitSet bs = new BitSet(21); + bs.flip(3, 5); + harness.check(!bs.get(2)); + harness.check(bs.get(3)); + harness.check(bs.get(4)); + harness.check(!bs.get(5)); + + bs.flip(4, 4); + harness.check(bs.get(4)); + + boolean pass = false; + try + { + bs.flip(-1, 1); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + + pass = false; + try + { + bs.flip(2, 1); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + } +} Index: gnu/testlet/java/util/BitSet/get.java =================================================================== RCS file: gnu/testlet/java/util/BitSet/get.java diff -N gnu/testlet/java/util/BitSet/get.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnu/testlet/java/util/BitSet/get.java 12 Apr 2006 10:41:54 -0000 @@ -0,0 +1,126 @@ +/* get.java -- some checks for the get() method in the BitSet class. + Copyright (C) 2005 David Daney + Copyright (C) 2006 David Gilbert +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.java.util.BitSet; + +import gnu.testlet.TestHarness; +import gnu.testlet.Testlet; + +import java.util.BitSet; + +public class get implements Testlet +{ + public void test(TestHarness harness) + { + test1(harness); + test2(harness); + testGeneral(harness); + } + + private void test1(TestHarness harness) + { + harness.checkPoint("(int)"); + BitSet bs = new BitSet(); + bs.set(0); + bs.set(2); + harness.check(bs.get(0)); + harness.check(!bs.get(1)); + harness.check(bs.get(2)); + harness.check(!bs.get(3)); + + boolean pass = false; + try + { + bs.get(-1); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + } + + private void test2(TestHarness harness) + { + harness.checkPoint("(int, int)"); + BitSet bs1 = new BitSet(); + bs1.set(3); + bs1.set(4); + bs1.set(5); + BitSet bs2 = bs1.get(2, 5); + harness.check(!bs2.get(0)); + harness.check(bs2.get(1)); + harness.check(bs2.get(2)); + harness.check(!bs2.get(3)); + + BitSet bs3 = bs1.get(3, 3); + harness.check(bs3.isEmpty()); + + boolean pass = false; + try + { + bs3 = bs1.get(-1, 1); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + + pass = false; + try + { + bs3 = bs1.get(3, 1); + } + catch (IndexOutOfBoundsException e) + { + pass = true; + } + harness.check(pass); + } + + private void testGeneral(TestHarness harness) + { + harness.checkPoint("testGeneral()"); + BitSet o = new BitSet(70); + o.set(1); + o.set(2); + o.set(63); + o.set(64); + + BitSet s1 = o.get(0, 9); + harness.check(s1.cardinality(), 2); + harness.check(s1.get(0), false); + harness.check(s1.get(1), true); + harness.check(s1.get(2), true); + harness.check(s1.get(3), false); + + BitSet s2 = o.get(60, 69); + harness.check(s2.cardinality(), 2); + harness.check(s2.get(2), false); + harness.check(s2.get(3), true); + harness.check(s2.get(4), true); + harness.check(s2.get(5), false); + } +} --------------010602050405010609040406--