Package gnu.testlet.java.util.BitSet

Source Code of gnu.testlet.java.util.BitSet.jdk10

// Tags: JDK1.0

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

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("{}"));
    b2.set(1);
    h.check(b2.toString().equals("{1}"));

    h.checkPoint("Hashcode");
    h.check(b1.hashCode() == 2260);
    b3 = new BitSet();
    h.check(b3.hashCode() == 1234);

    h.checkPoint("And/Or/Xor");
    b2.set(1);
    b2.set(3);
    b2.set(200);
    b2.set(300);
    b2.and(b1);
    h.check( b2.toString().equals("{1, 200}") );
    b1.set(17);
    b2.set(15);
    b2.or(b1);
    h.check( b2.toString().equals("{1, 2, 11, 15, 17, 200}") );
    b2.xor(b2);
    h.check( b2.toString().equals("{}") );
    b2.xor(b1);
    b3.or(b1);
    h.check( trulyEquals(b2,b3) );
   
    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;
    }
    h.check (e1 == e2);
    return e2; 
  }
}
TOP

Related Classes of gnu.testlet.java.util.BitSet.jdk10

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.