Example #1
0
  @Test
  public void testCopyFrom() {
    // Test copyFrom(bag) and copyFrom(bag, clearExceeding)
    BooleanBag bag0, bag1;
    boolean e0 = true, e1 = true, e2 = true, e3 = true;

    bag0 = new BooleanBag();
    bag0.set(0, e0);
    bag0.set(3, e1);
    bag0.set(9, e2);
    bag1 = new BooleanBag();
    bag1.copyFrom(bag0);
    assertEquals((Boolean) e0, (Boolean) bag1.get(0));
    assertEquals((Boolean) e1, (Boolean) bag1.get(3));
    assertEquals((Boolean) e2, (Boolean) bag1.get(9));
    bag1 = new BooleanBag();
    bag1.set(53, e3);
    bag1.copyFrom(bag0, false);
    assertEquals((Boolean) e0, (Boolean) bag1.get(0));
    assertEquals((Boolean) e1, (Boolean) bag1.get(3));
    assertEquals((Boolean) e2, (Boolean) bag1.get(9));
    assertEquals((Boolean) e3, (Boolean) bag1.get(53));
    bag1 = new BooleanBag();
    bag1.set(53, e3);
    bag1.copyFrom(bag0, true);
    assertEquals((Boolean) e0, (Boolean) bag1.get(0));
    assertEquals((Boolean) e1, (Boolean) bag1.get(3));
    assertEquals((Boolean) e2, (Boolean) bag1.get(9));
    assertEquals((Boolean) false, (Boolean) bag1.get(53));

    // Test copyFrom(bag, length) and copyFrom(bag, length, clearExceeding)
    bag0 = new BooleanBag();
    bag0.set(4, e0);
    bag0.set(7, e1);
    bag1 = new BooleanBag();
    bag1.copyFrom(bag0, 3);
    assertEquals((Boolean) false, (Boolean) bag1.get(0));
    assertEquals((Boolean) false, (Boolean) bag1.get(1));
    assertEquals((Boolean) false, (Boolean) bag1.get(2));
    assertEquals((Boolean) false, (Boolean) bag1.get(3));
    assertEquals((Boolean) false, (Boolean) bag1.get(4));
    assertEquals((Boolean) false, (Boolean) bag1.get(5));
    assertEquals((Boolean) false, (Boolean) bag1.get(6));
    assertEquals((Boolean) false, (Boolean) bag1.get(7));
    bag1 = new BooleanBag();
    bag1.copyFrom(bag0, 5);
    assertEquals((Boolean) false, (Boolean) bag1.get(0));
    assertEquals((Boolean) false, (Boolean) bag1.get(1));
    assertEquals((Boolean) false, (Boolean) bag1.get(2));
    assertEquals((Boolean) false, (Boolean) bag1.get(3));
    assertEquals((Boolean) e0, (Boolean) bag1.get(4));
    assertEquals((Boolean) false, (Boolean) bag1.get(5));
    assertEquals((Boolean) false, (Boolean) bag1.get(6));
    assertEquals((Boolean) false, (Boolean) bag1.get(7));
    bag1 = new BooleanBag();
    bag1.set(8, e2);
    bag1.copyFrom(bag0, 8, true);
    assertEquals((Boolean) false, (Boolean) bag1.get(0));
    assertEquals((Boolean) false, (Boolean) bag1.get(1));
    assertEquals((Boolean) false, (Boolean) bag1.get(2));
    assertEquals((Boolean) false, (Boolean) bag1.get(3));
    assertEquals((Boolean) e0, (Boolean) bag1.get(4));
    assertEquals((Boolean) false, (Boolean) bag1.get(5));
    assertEquals((Boolean) false, (Boolean) bag1.get(6));
    assertEquals((Boolean) e1, (Boolean) bag1.get(7));
    assertEquals((Boolean) false, (Boolean) bag1.get(8));
    assertEquals((Boolean) false, (Boolean) bag1.get(9));

    // Test copyFrom(bag, fromOffset, length) and copyFrom(bag, fromOffset, length, clearExceeding)
    bag0 = new BooleanBag();
    bag0.set(0, e0);
    bag0.set(4, e1);
    bag0.set(6, e2);
    bag1 = new BooleanBag();
    bag1.copyFrom(bag0, 3, 2);
    assertEquals((Boolean) false, (Boolean) bag1.get(0));
    assertEquals((Boolean) e1, (Boolean) bag1.get(1));
    assertEquals((Boolean) false, (Boolean) bag1.get(2));
    assertEquals((Boolean) false, (Boolean) bag1.get(3));
    assertEquals((Boolean) false, (Boolean) bag1.get(4));
    assertEquals((Boolean) false, (Boolean) bag1.get(5));
    assertEquals((Boolean) false, (Boolean) bag1.get(6));
    assertEquals((Boolean) false, (Boolean) bag1.get(7));
    assertEquals((Boolean) false, (Boolean) bag1.get(8));
    bag0 = new BooleanBag();
    bag0.set(0, e0);
    bag0.set(4, e1);
    bag0.set(10, e2);
    bag1 = new BooleanBag();
    bag1.set(7, e3);
    bag1.copyFrom(bag0, 3, 2, false);
    assertEquals((Boolean) false, (Boolean) bag1.get(0));
    assertEquals((Boolean) e1, (Boolean) bag1.get(1));
    assertEquals((Boolean) false, (Boolean) bag1.get(2));
    assertEquals((Boolean) false, (Boolean) bag1.get(3));
    assertEquals((Boolean) false, (Boolean) bag1.get(4));
    assertEquals((Boolean) false, (Boolean) bag1.get(5));
    assertEquals((Boolean) false, (Boolean) bag1.get(6));
    assertEquals((Boolean) e3, (Boolean) bag1.get(7));
    assertEquals((Boolean) false, (Boolean) bag1.get(8));
    assertEquals((Boolean) false, (Boolean) bag1.get(9));
    assertEquals((Boolean) false, (Boolean) bag1.get(10));
  }