Search in sources :

Example 56 with IonSequence

use of com.amazon.ion.IonSequence in project ion-java by amzn.

the class BaseIonSequenceLiteSublistTestCase method sublistSizeConcurrentModification.

// Concurrent modification tests ---------------------------------------------------------------------------------
@Test(expected = ConcurrentModificationException.class)
public void sublistSizeConcurrentModification() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    sequence.add(SYSTEM.newInt(99));
    sublist.size();
}
Also used : IonValue(com.amazon.ion.IonValue) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Example 57 with IonSequence

use of com.amazon.ion.IonSequence in project ion-java by amzn.

the class BaseIonSequenceLiteSublistTestCase method sublistAddConcurrentModification.

@Test(expected = ConcurrentModificationException.class)
public void sublistAddConcurrentModification() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    sequence.remove(0);
    sublist.add(SYSTEM.newInt(0));
}
Also used : IonValue(com.amazon.ion.IonValue) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Example 58 with IonSequence

use of com.amazon.ion.IonSequence in project ion-java by amzn.

the class BaseIonSequenceLiteSublistTestCase method sublistIndexOf.

@Test
public void sublistIndexOf() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    assertEquals(0, sublist.indexOf(sequence.get(2)));
    assertEquals(-1, sublist.indexOf(sequence.get(0)));
    assertEquals(-1, sublist.indexOf(SYSTEM.newInt(99)));
}
Also used : IonValue(com.amazon.ion.IonValue) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Example 59 with IonSequence

use of com.amazon.ion.IonSequence in project ion-java by amzn.

the class BaseIonSequenceLiteSublistTestCase method sublistIterator.

@Test
public void sublistIterator() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    final Iterator<IonValue> iterator = sublist.iterator();
    assertTrue(iterator.hasNext());
    assertEquals(sublist.get(0), iterator.next());
    assertTrue(iterator.hasNext());
    assertEquals(sublist.get(1), iterator.next());
    assertTrue(iterator.hasNext());
    assertEquals(sublist.get(2), iterator.next());
    assertFalse(iterator.hasNext());
}
Also used : IonValue(com.amazon.ion.IonValue) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Example 60 with IonSequence

use of com.amazon.ion.IonSequence in project ion-java by amzn.

the class BaseIonSequenceLiteSublistTestCase method sublistListIterator.

@Test
public void sublistListIterator() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    final ListIterator<IonValue> iterator = sublist.listIterator();
    assertFalse(iterator.hasPrevious());
    assertTrue(iterator.hasNext());
    assertEquals(0, iterator.nextIndex());
    assertEquals(-1, iterator.previousIndex());
    assertEquals(sublist.get(0), iterator.next());
    assertTrue(iterator.hasNext());
    assertTrue(iterator.hasPrevious());
    assertEquals(1, iterator.nextIndex());
    assertEquals(0, iterator.previousIndex());
    assertEquals(sublist.get(1), iterator.next());
    assertTrue(iterator.hasNext());
    assertTrue(iterator.hasPrevious());
    assertEquals(2, iterator.nextIndex());
    assertEquals(1, iterator.previousIndex());
    assertEquals(sublist.get(2), iterator.next());
    assertEquals(3, iterator.nextIndex());
    assertEquals(2, iterator.previousIndex());
    assertFalse(iterator.hasNext());
    assertTrue(iterator.hasPrevious());
    assertEquals(sublist.get(2), iterator.previous());
    final IonInt newAddValue = SYSTEM.newInt(200);
    iterator.add(newAddValue);
    assertEquals(newAddValue, sublist.get(2));
    assertTrue(iterator.hasNext());
}
Also used : IonValue(com.amazon.ion.IonValue) IonInt(com.amazon.ion.IonInt) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Aggregations

IonSequence (com.amazon.ion.IonSequence)68 Test (org.junit.Test)62 IonValue (com.amazon.ion.IonValue)61 IonInt (com.amazon.ion.IonInt)17 IonStruct (com.amazon.ion.IonStruct)5 IonLob (com.amazon.ion.IonLob)3 IonType (com.amazon.ion.IonType)3 SymbolToken (com.amazon.ion.SymbolToken)2 ArrayList (java.util.ArrayList)2 IonBool (com.amazon.ion.IonBool)1 IonDatagram (com.amazon.ion.IonDatagram)1 IonException (com.amazon.ion.IonException)1 IonFloat (com.amazon.ion.IonFloat)1 IonSymbol (com.amazon.ion.IonSymbol)1 IonText (com.amazon.ion.IonText)1 IonTimestamp (com.amazon.ion.IonTimestamp)1 SymbolTable (com.amazon.ion.SymbolTable)1 IOException (java.io.IOException)1