public inbox for mauve-discuss@sourceware.org
 help / color / mirror / Atom feed
* BitSet test
@ 1999-02-03  6:43 Artur Biesiadowski
       [not found] ` < 36B85E1C.6C8D389A@pg.gda.pl >
  1999-04-01  0:00 ` Artur Biesiadowski
  0 siblings, 2 replies; 12+ messages in thread
From: Artur Biesiadowski @ 1999-02-03  6:43 UTC (permalink / raw)
  To: mauve

Attached is test for JDK1.0 BitSet. There are some new methods in 1.2,
but as it is not avail on linux...

BTW, mauve check rules are very counter-intuitive for me. I was
supposing that with
make KEYS='!java java.util.BitSet' check
I'll be able to run only my test. Actual result was to run all tests. I
was trying to give these options in mauve-something file, no luck. I've
ended up with compiling by hand and running through make check with hand
edited 'classes' file

Artur
// Taqs: JDK1.0

package gnu.testlet.java.util.BitSet;
import gnu.testlet.Testlet;
import gnu.testlet.TestHarness;
import java.util.BitSet;

public class jdk10 implements Testlet
{
	TestHarness h;
	public void test ( TestHarness harness )
	{
		h = harness;
		BitSet b1, b2, b3, b4, b5;
		
		h.checkPoint("Clone/Equals");
		b1 = new BitSet();
		b2 = (BitSet)b1.clone();
		h.check( trulyEquals(b1,b2) );
		b1 = new BitSet(100);
		h.check( trulyEquals(b1,b2) );
		b1.set(5);
		h.check( !trulyEquals(b1,b2) );
		b2 = (BitSet)b1.clone();
		h.check( trulyEquals(b1,b2));
		h.check(!b2.equals(null));
		
		h.checkPoint("NegativeSize");
		try {
			b1 = new BitSet(-1);
			h.check(false);
		} catch ( NegativeArraySizeException e )
			{
				h.check(true);
			}
			
		h.checkPoint("Set/Clear/Get");
		b1 = new BitSet();
		b1.set(1);
		b1.set(200);
		b1.set(0);
		h.check(b1.get(0));
		h.check(b1.get(1));
		h.check(!b1.get(2));
		h.check(b1.get(200));
		b1.clear(0);
		h.check(!b1.get(0));
		
		h.checkPoint("Set/Clear/Get negative index");
		try {
			b1.set(-1);
			h.check(false);
		} catch ( IndexOutOfBoundsException e )
		{
			h.check(true);
		}
		
		try {
			b1.get(-1);
			h.check(false);
		} catch ( IndexOutOfBoundsException e )
		{
			h.check(true);
		}
		
		try {
			b1.clear(-1);
			h.check(false);
		} catch ( IndexOutOfBoundsException e )
		{
			h.check(true);
		}
		
		h.checkPoint("toString");
		h.check(b1.toString().equals("{1, 200}"));
		b1.set(2);
		b1.set(11);
		h.check(b1.toString().equals("{1, 2, 11, 200}"));
		b2 = new BitSet(100);
		h.check(b2.toString().equals("{}"));
		
		h.checkPoint("Hascode");
		h.check(b1.hashCode() == 2260);
		h.check(b2.hashCode() == 1234);
		
		h.checkPoint("And/Or/Xor");
		b3 = new BitSet();
		b2.and(b1);
		h.check( trulyEquals(b2,b3) );
		b2.or(b1);
		h.check( trulyEquals(b2,b1) );
		b2.xor(b2);
		h.check( trulyEquals(b2,b3) );
		b2.xor(b1);
		b3.or(b1);
		h.check( trulyEquals(b2,b3) );
		
		h.checkPoint("Size");
		h.check ( b3.size() > 0 );
		
		h.checkPoint("NullPointerExceptions");
		try {
			b1.and(null);
			h.check(false);
		} catch ( NullPointerException e )
			{
				h.check(true);
			}
		try {
			b1.or(null);
			h.check(false);
		} catch ( NullPointerException e )
			{
				h.check(true);
			}
			
		try {
			b1.xor(null);
			h.check(false);
		} catch ( NullPointerException e )
			{
				h.check(true);
			}			
		
	}
	
	private boolean trulyEquals( BitSet b1, BitSet b2 )
	{
		boolean e1 = b1.equals(b2);
		boolean e2 = true;
		for ( int i = 0; i < 300; i++ )
		{
			if ( b1.get(i) !=  b2.get(i) )
				e2 = false;
		}
		if ( e1 != e2 )
			h.check(false, "BitSet.equals is wrong");
		else
			h.check(true);
		return e2;	
	}
}

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
       [not found] ` < 36B85E1C.6C8D389A@pg.gda.pl >
@ 1999-02-03  9:24   ` Anthony Green
  1999-04-01  0:00     ` Anthony Green
  0 siblings, 1 reply; 12+ messages in thread
From: Anthony Green @ 1999-02-03  9:24 UTC (permalink / raw)
  To: abies; +Cc: mauve-discuss

Artur wrote:
> Attached is test for JDK1.0 BitSet. 

Cool - thanks.

> BTW, mauve check rules are very counter-intuitive for me. I was
> supposing that with
> make KEYS='!java java.util.BitSet' check
> I'll be able to run only my test. Actual result was to run all tests. I
> was trying to give these options in mauve-something file, no luck. I've
> ended up with compiling by hand and running through make check with hand
> edited 'classes' file

The following works..

make KEYS='!java. java.util.BitSet' check

Note the extra '.'.

> // Taqs: JDK1.0

This would have to be "Tags" :-)

I think we will have to start requiring copyright notices in the test
files.  Artur, do you mind if I add the following header to your test
file before I check it in?

/* Copyright (C) 1999 Artur Biesiadowski

   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.  */


AG

-- 
Anthony Green                                               Cygnus Solutions
                                                       Sunnyvale, California

^ permalink raw reply	[flat|nested] 12+ messages in thread

* BitSet test
  1999-02-03  6:43 BitSet test Artur Biesiadowski
       [not found] ` < 36B85E1C.6C8D389A@pg.gda.pl >
@ 1999-04-01  0:00 ` Artur Biesiadowski
  1 sibling, 0 replies; 12+ messages in thread
From: Artur Biesiadowski @ 1999-04-01  0:00 UTC (permalink / raw)
  To: mauve

Attached is test for JDK1.0 BitSet. There are some new methods in 1.2,
but as it is not avail on linux...

BTW, mauve check rules are very counter-intuitive for me. I was
supposing that with
make KEYS='!java java.util.BitSet' check
I'll be able to run only my test. Actual result was to run all tests. I
was trying to give these options in mauve-something file, no luck. I've
ended up with compiling by hand and running through make check with hand
edited 'classes' file

Artur
// Taqs: JDK1.0

package gnu.testlet.java.util.BitSet;
import gnu.testlet.Testlet;
import gnu.testlet.TestHarness;
import java.util.BitSet;

public class jdk10 implements Testlet
{
	TestHarness h;
	public void test ( TestHarness harness )
	{
		h = harness;
		BitSet b1, b2, b3, b4, b5;
		
		h.checkPoint("Clone/Equals");
		b1 = new BitSet();
		b2 = (BitSet)b1.clone();
		h.check( trulyEquals(b1,b2) );
		b1 = new BitSet(100);
		h.check( trulyEquals(b1,b2) );
		b1.set(5);
		h.check( !trulyEquals(b1,b2) );
		b2 = (BitSet)b1.clone();
		h.check( trulyEquals(b1,b2));
		h.check(!b2.equals(null));
		
		h.checkPoint("NegativeSize");
		try {
			b1 = new BitSet(-1);
			h.check(false);
		} catch ( NegativeArraySizeException e )
			{
				h.check(true);
			}
			
		h.checkPoint("Set/Clear/Get");
		b1 = new BitSet();
		b1.set(1);
		b1.set(200);
		b1.set(0);
		h.check(b1.get(0));
		h.check(b1.get(1));
		h.check(!b1.get(2));
		h.check(b1.get(200));
		b1.clear(0);
		h.check(!b1.get(0));
		
		h.checkPoint("Set/Clear/Get negative index");
		try {
			b1.set(-1);
			h.check(false);
		} catch ( IndexOutOfBoundsException e )
		{
			h.check(true);
		}
		
		try {
			b1.get(-1);
			h.check(false);
		} catch ( IndexOutOfBoundsException e )
		{
			h.check(true);
		}
		
		try {
			b1.clear(-1);
			h.check(false);
		} catch ( IndexOutOfBoundsException e )
		{
			h.check(true);
		}
		
		h.checkPoint("toString");
		h.check(b1.toString().equals("{1, 200}"));
		b1.set(2);
		b1.set(11);
		h.check(b1.toString().equals("{1, 2, 11, 200}"));
		b2 = new BitSet(100);
		h.check(b2.toString().equals("{}"));
		
		h.checkPoint("Hascode");
		h.check(b1.hashCode() == 2260);
		h.check(b2.hashCode() == 1234);
		
		h.checkPoint("And/Or/Xor");
		b3 = new BitSet();
		b2.and(b1);
		h.check( trulyEquals(b2,b3) );
		b2.or(b1);
		h.check( trulyEquals(b2,b1) );
		b2.xor(b2);
		h.check( trulyEquals(b2,b3) );
		b2.xor(b1);
		b3.or(b1);
		h.check( trulyEquals(b2,b3) );
		
		h.checkPoint("Size");
		h.check ( b3.size() > 0 );
		
		h.checkPoint("NullPointerExceptions");
		try {
			b1.and(null);
			h.check(false);
		} catch ( NullPointerException e )
			{
				h.check(true);
			}
		try {
			b1.or(null);
			h.check(false);
		} catch ( NullPointerException e )
			{
				h.check(true);
			}
			
		try {
			b1.xor(null);
			h.check(false);
		} catch ( NullPointerException e )
			{
				h.check(true);
			}			
		
	}
	
	private boolean trulyEquals( BitSet b1, BitSet b2 )
	{
		boolean e1 = b1.equals(b2);
		boolean e2 = true;
		for ( int i = 0; i < 300; i++ )
		{
			if ( b1.get(i) !=  b2.get(i) )
				e2 = false;
		}
		if ( e1 != e2 )
			h.check(false, "BitSet.equals is wrong");
		else
			h.check(true);
		return e2;	
	}
}

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
  1999-02-03  9:24   ` Anthony Green
@ 1999-04-01  0:00     ` Anthony Green
  0 siblings, 0 replies; 12+ messages in thread
From: Anthony Green @ 1999-04-01  0:00 UTC (permalink / raw)
  To: abies; +Cc: mauve-discuss

Artur wrote:
> Attached is test for JDK1.0 BitSet. 

Cool - thanks.

> BTW, mauve check rules are very counter-intuitive for me. I was
> supposing that with
> make KEYS='!java java.util.BitSet' check
> I'll be able to run only my test. Actual result was to run all tests. I
> was trying to give these options in mauve-something file, no luck. I've
> ended up with compiling by hand and running through make check with hand
> edited 'classes' file

The following works..

make KEYS='!java. java.util.BitSet' check

Note the extra '.'.

> // Taqs: JDK1.0

This would have to be "Tags" :-)

I think we will have to start requiring copyright notices in the test
files.  Artur, do you mind if I add the following header to your test
file before I check it in?

/* Copyright (C) 1999 Artur Biesiadowski

   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.  */


AG

-- 
Anthony Green                                               Cygnus Solutions
                                                       Sunnyvale, California

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
  1999-02-11 11:25 ` Tom Tromey
@ 1999-04-01  0:00   ` Tom Tromey
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Tromey @ 1999-04-01  0:00 UTC (permalink / raw)
  To: Aaron M. Renn; +Cc: mauve

Aaron> It doesn't seem to like my TAGS value.  It always pulls JDK1.1
Aaron> no matter what I put in it.

What TAGS value do you use?

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
  1999-02-09 14:17 Aaron M. Renn
  1999-02-11 11:25 ` Tom Tromey
@ 1999-04-01  0:00 ` Aaron M. Renn
  1 sibling, 0 replies; 12+ messages in thread
From: Aaron M. Renn @ 1999-04-01  0:00 UTC (permalink / raw)
  To: tromey; +Cc: mauve

>Aaron> I don't think make check works right.  I'm just running all my
>Aaron> tests by hand.
>
>I agree that `make check' is more than a little bogus.
>It works well enough for me, though, so I haven't been motivated to
>change it.  What sorts of changes would you like to see?

It doesn't seem to like my TAGS value.  It always pulls JDK1.1 no matter
what I put in it.  It also doesn't ever seem to regenerate its class list.
And it compiles everything on one big command line.  Those are the things I
remember offhand.  Some of it could be pilot error since I haven't dug into
it too deeply.

--
Aaron M. Renn (arenn@urbanophile.com) http://www.urbanophile.com/arenn/



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
  1999-02-03  6:59 Aaron M. Renn
  1999-02-09 13:36 ` Tom Tromey
@ 1999-04-01  0:00 ` Aaron M. Renn
  1 sibling, 0 replies; 12+ messages in thread
From: Aaron M. Renn @ 1999-04-01  0:00 UTC (permalink / raw)
  To: Artur Biesiadowski, mauve

>BTW, mauve check rules are very counter-intuitive for me. I was
>supposing that with
>make KEYS='!java java.util.BitSet' check
>I'll be able to run only my test. Actual result was to run all tests. I
>was trying to give these options in mauve-something file, no luck. I've
>ended up with compiling by hand and running through make check with hand
>edited 'classes' file

I don't think make check works right.  I'm just running all my tests by
hand.

--
Aaron M. Renn (arenn@urbanophile.com) http://www.urbanophile.com/arenn/



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
  1999-02-09 13:36 ` Tom Tromey
@ 1999-04-01  0:00   ` Tom Tromey
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Tromey @ 1999-04-01  0:00 UTC (permalink / raw)
  To: Aaron M. Renn; +Cc: Artur Biesiadowski, mauve

Aaron> I don't think make check works right.  I'm just running all my
Aaron> tests by hand.

I agree that `make check' is more than a little bogus.
It works well enough for me, though, so I haven't been motivated to
change it.  What sorts of changes would you like to see?

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
  1999-02-09 14:17 Aaron M. Renn
@ 1999-02-11 11:25 ` Tom Tromey
  1999-04-01  0:00   ` Tom Tromey
  1999-04-01  0:00 ` Aaron M. Renn
  1 sibling, 1 reply; 12+ messages in thread
From: Tom Tromey @ 1999-02-11 11:25 UTC (permalink / raw)
  To: Aaron M. Renn; +Cc: mauve

Aaron> It doesn't seem to like my TAGS value.  It always pulls JDK1.1
Aaron> no matter what I put in it.

What TAGS value do you use?

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
@ 1999-02-09 14:17 Aaron M. Renn
  1999-02-11 11:25 ` Tom Tromey
  1999-04-01  0:00 ` Aaron M. Renn
  0 siblings, 2 replies; 12+ messages in thread
From: Aaron M. Renn @ 1999-02-09 14:17 UTC (permalink / raw)
  To: tromey; +Cc: mauve

>Aaron> I don't think make check works right.  I'm just running all my
>Aaron> tests by hand.
>
>I agree that `make check' is more than a little bogus.
>It works well enough for me, though, so I haven't been motivated to
>change it.  What sorts of changes would you like to see?

It doesn't seem to like my TAGS value.  It always pulls JDK1.1 no matter
what I put in it.  It also doesn't ever seem to regenerate its class list.
And it compiles everything on one big command line.  Those are the things I
remember offhand.  Some of it could be pilot error since I haven't dug into
it too deeply.

--
Aaron M. Renn (arenn@urbanophile.com) http://www.urbanophile.com/arenn/


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
  1999-02-03  6:59 Aaron M. Renn
@ 1999-02-09 13:36 ` Tom Tromey
  1999-04-01  0:00   ` Tom Tromey
  1999-04-01  0:00 ` Aaron M. Renn
  1 sibling, 1 reply; 12+ messages in thread
From: Tom Tromey @ 1999-02-09 13:36 UTC (permalink / raw)
  To: Aaron M. Renn; +Cc: Artur Biesiadowski, mauve

Aaron> I don't think make check works right.  I'm just running all my
Aaron> tests by hand.

I agree that `make check' is more than a little bogus.
It works well enough for me, though, so I haven't been motivated to
change it.  What sorts of changes would you like to see?

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: BitSet test
@ 1999-02-03  6:59 Aaron M. Renn
  1999-02-09 13:36 ` Tom Tromey
  1999-04-01  0:00 ` Aaron M. Renn
  0 siblings, 2 replies; 12+ messages in thread
From: Aaron M. Renn @ 1999-02-03  6:59 UTC (permalink / raw)
  To: Artur Biesiadowski, mauve

>BTW, mauve check rules are very counter-intuitive for me. I was
>supposing that with
>make KEYS='!java java.util.BitSet' check
>I'll be able to run only my test. Actual result was to run all tests. I
>was trying to give these options in mauve-something file, no luck. I've
>ended up with compiling by hand and running through make check with hand
>edited 'classes' file

I don't think make check works right.  I'm just running all my tests by
hand.

--
Aaron M. Renn (arenn@urbanophile.com) http://www.urbanophile.com/arenn/


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~1999-04-01  0:00 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-02-03  6:43 BitSet test Artur Biesiadowski
     [not found] ` < 36B85E1C.6C8D389A@pg.gda.pl >
1999-02-03  9:24   ` Anthony Green
1999-04-01  0:00     ` Anthony Green
1999-04-01  0:00 ` Artur Biesiadowski
1999-02-03  6:59 Aaron M. Renn
1999-02-09 13:36 ` Tom Tromey
1999-04-01  0:00   ` Tom Tromey
1999-04-01  0:00 ` Aaron M. Renn
1999-02-09 14:17 Aaron M. Renn
1999-02-11 11:25 ` Tom Tromey
1999-04-01  0:00   ` Tom Tromey
1999-04-01  0:00 ` Aaron M. Renn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).