public inbox for mauve-discuss@sourceware.org
 help / color / mirror / Atom feed
* 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 ` 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
* 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

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-09 14:17 BitSet test 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
  -- strict thread matches above, loose matches on Subject: below --
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-03  6:43 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

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).