예제 #1
0
 @Test
 public void testItemsPermutate() {
   int[] indices = new int[] {1, 3, 5};
   indicesList.addIndices(indices);
   report.clear();
   ListChangeReport itemsReport = new ListChangeReport(items);
   // permutation on items
   // [0->8, 1->7, 2->6, 3->5, 4->4, 5->3, 6->2, 7->1, 8->0]
   items.sort(null);
   //        itemsReport.prettyPrint();
   int[] permutated = new int[] {3, 5, 7};
   //        LOG.info("sortedItems" + itemsReport.getLastChange());
   //        LOG.info("sorted: " + report.getLastChange());
   //        report.prettyPrint();
   assertEquals(1, report.getEventCount());
   assertEquals(1, getChangeCount(report.getLastChange(), ChangeType.REPLACED));
   Change c = report.getLastChange();
   c.reset();
   c.next();
   assertEquals("added size same", permutated.length, c.getAddedSize());
   for (int i = 0; i < permutated.length; i++) {
     assertEquals("added at " + i, permutated[i], c.getAddedSubList().get(i));
   }
   assertEquals("removed size same", indices.length, c.getRemovedSize());
   for (int i = 0; i < indices.length; i++) {
     assertEquals("removed at" + i, indices[i], c.getRemoved().get(i));
   }
   //        LOG.info("" + indicesList);
 }
  @Test
  public void testSimpleUpdate() {
    Change<String> change = new NonIterableChange.SimpleUpdateChange<String>(0, 1, list);

    assertTrue(change.next());

    assertFalse(change.wasAdded());
    assertFalse(change.wasRemoved());
    assertFalse(change.wasReplaced());
    assertTrue(change.wasUpdated());
    assertFalse(change.wasPermutated());
    assertEquals(0, change.getFrom());
    assertEquals(1, change.getTo());
    assertEquals(0, change.getAddedSize());
    assertEquals(Arrays.asList(), change.getAddedSubList());
    assertEquals(0, change.getRemovedSize());
    assertEquals(Arrays.asList(), change.getRemoved());
    assertNotNull(change.toString());

    assertFalse(change.next());
  }