예제 #1
0
  /** testbench. do not call */
  public static void internal_test() {

    Test.start("SetEnumeration");

    final BDDUniverse u = new BDDUniverse(dom);
    final Set set = u.createEmptySet();

    final int[] val = new int[dom.length];
    int real_size = 0;
    for (int i = 0; i < 200; i++) {
      for (int j = 0; j < dom.length; j++) {
        val[j] = (int) (Math.random() * dom[j]);
      }
      if (set.insert(val)) {
        real_size++;
      }
    }

    Test.checkEquality(
        real_size, set.cardinality(), "# of elemnets inserted equals set cardinality");

    final Set set2 = set.copy();
    final SetEnumeration se = set.elements();
    int had = 0;
    while (se.hasMoreElements()) {
      had++;
      final int[] v = se.nextElement();
      Test.check(set2.remove(v), " returned element really in set");
    }

    Test.checkEquality(
        real_size, set.cardinality(), "# of elemnets inserted still equals set cardinality");
    Test.checkEquality(had, set.cardinality(), "right number of elements in set");
    Test.checkEquality(set2.cardinality(), 0, "right number of elements in set (Same as above)");

    set2.free();
    set.free();
    se.free();

    Test.end();
  }
예제 #2
0
  /** testbench. do not call */
  public static void internal_test() {

    Test.start("Cache");

    // 3 elements
    Cache cache = new Cache(200, 3);

    cache.insert3((byte) 2, 1, 2, 3);
    Test.check(cache.lookup3((byte) 2, 1, 2) == 3, "lookup 3");
    cache.insert3((byte) 2, 1, 2, 5);
    Test.check(cache.lookup3((byte) 2, 1, 2) == 5, "lookup overwritten with 5");
    Test.check(cache.lookup3((byte) 1, 1, 2) == -1, "non-existing entry 1");
    Test.check(cache.lookup3((byte) 2, 2, 2) == -1, "non-existing entry 2");
    Test.check(cache.lookup3((byte) 2, 2, 1) == -1, "non-existing entry 3");

    // 2 elements
    cache = new Cache(200, 2);

    cache.insert2((byte) 2, 1, 3);
    Test.check(cache.lookup2((byte) 2, 1) == 3, "lookup 3");
    cache.insert2((byte) 2, 1, 5);
    Test.check(cache.lookup2((byte) 2, 1) == 5, "lookup overwritten with 5");
    Test.check(cache.lookup2((byte) 1, 1) == -1, "non-existing entry 1");
    Test.check(cache.lookup2((byte) 2, 2) == -1, "non-existing entry 2");

    // 1 element
    cache = new Cache(200, 1);

    cache.insert1(1, 3);
    Test.check(cache.lookup1(1) == 3, "lookup 3");
    cache.insert1(1, 5);
    Test.check(cache.lookup1(1) == 5, "lookup overwritten with 5");
    Test.check(cache.lookup1(2) == -1, "non-existing entry 1");
    Test.check(cache.lookup1(3) == -1, "non-existing entry 2");

    Test.end();
  }