@Test
 public void beforeAfterAreCalled() {
   MyCollection c = createCollection();
   c.add(0);
   c.remove(0);
   assertTrue(c.isEmpty());
   assertEquals(1, c.getBeforeItemAddedCallsNumber());
   assertEquals(1, c.getBeforeItemRemovedCallsNumber());
   c.verifyBeforeAfter();
 }
 @Test(expected = IllegalStateException.class)
 public void removeFailureDoesntAffectBeforeAfter() {
   MyCollection c = createThrowingOnRemoveCollection();
   c.add(0);
   c.addListener(createThrowingListener());
   try {
     c.remove(0);
   } finally {
     c.verifyBeforeAfter();
     c.verifyLastSuccess(false);
     c.assertContentEquals(0);
   }
 }
 @Test(expected = UnsupportedOperationException.class)
 public void beforeAfterOnRemoveArentAffectedByListenerExceptions() {
   MyCollection c = createCollection();
   c.add(0);
   c.addListener(createThrowingListener());
   try {
     c.remove(0);
   } finally {
     c.verifyBeforeAfter();
     c.verifyLastSuccess(true);
     assertTrue(c.isEmpty());
   }
 }
 @Test(expected = IllegalStateException.class)
 public void addFailureDoesntAffectBeforeAfter() {
   MyCollection c = createThrowingOnAddCollection();
   c.addListener(createThrowingListener());
   try {
     c.add(0);
   } finally {
     c.verifyBeforeAfter();
     c.verifyLastSuccess(false);
     assertTrue(c.isEmpty());
   }
 }
 @Test(expected = UnsupportedOperationException.class)
 public void beforeAfterOnAddArentAffectedByListenerExceptions() {
   MyCollection c = createCollection();
   c.addListener(createThrowingListener());
   try {
     c.add(0);
   } finally {
     c.verifyBeforeAfter();
     c.verifyLastSuccess(true);
     c.assertContentEquals(0);
   }
 }
Beispiel #6
0
  /**
   * 对数组的绝对值由大到小排序,返回调整后元素对于的原始下标
   *
   * @param data 待排序数组
   * @return 原始下标
   */
  public static int[] sort(TIntFloatHashMap data) {

    return MyCollection.sort(data);
  }