Search in sources :

Example 1 with SortedFieldTracker

use of org.hibernate.bytecode.enhance.internal.tracker.SortedFieldTracker in project hibernate-orm by hibernate.

the class DirtyTrackerTest method testSortedTracker.

@Test
public void testSortedTracker() {
    DirtyTracker tracker = new SortedFieldTracker();
    assertTrue(tracker.isEmpty());
    assertTrue(tracker.get().length == 0);
    tracker.add("foo");
    assertFalse(tracker.isEmpty());
    assertArrayEquals(tracker.get(), new String[] { "foo" });
    tracker.clear();
    assertTrue(tracker.isEmpty());
    assertTrue(tracker.get().length == 0);
    tracker.add("foo");
    tracker.add("bar");
    tracker.add("another.bar");
    tracker.add("foo");
    tracker.add("another.foo");
    tracker.add("another.bar");
    assertTrue(tracker.get().length == 4);
    // we the algorithm for this implementation relies on the fact that the array is kept sorted, so let's check it really is
    assertTrue(isSorted(tracker.get()));
    tracker.suspend(true);
    tracker.add("one more");
    assertTrue(tracker.get().length == 4);
}
Also used : SortedFieldTracker(org.hibernate.bytecode.enhance.internal.tracker.SortedFieldTracker) DirtyTracker(org.hibernate.bytecode.enhance.internal.tracker.DirtyTracker) Test(org.junit.Test)

Aggregations

DirtyTracker (org.hibernate.bytecode.enhance.internal.tracker.DirtyTracker)1 SortedFieldTracker (org.hibernate.bytecode.enhance.internal.tracker.SortedFieldTracker)1 Test (org.junit.Test)1