Search in sources :

Example 26 with IonList

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

the class EquivalenceTest method builderWithEpsilon.

@Test
public void builderWithEpsilon() {
    Equivalence equivalence = new Equivalence.Builder().withEpsilon(1e-6).build();
    IonFloat v1 = ionFloat(3.14);
    IonFloat v2 = ionFloat(3.14 + 1e-7);
    assertTrue(equivalence.ionValueEquals(v1, v2));
    assertTrue(equivalence.ionValueEquals(v2, v1));
    IonStruct struct1 = system().newEmptyStruct();
    struct1.add("foo", v1.clone());
    IonStruct struct2 = system().newEmptyStruct();
    struct2.add("foo", v2.clone());
    assertTrue(equivalence.ionValueEquals(struct1, struct2));
    assertTrue(equivalence.ionValueEquals(struct2, struct1));
    IonList list1 = system().newList(v1.clone());
    IonList list2 = system().newList(v2.clone());
    assertTrue(equivalence.ionValueEquals(list1, list2));
    assertTrue(equivalence.ionValueEquals(list2, list1));
}
Also used : IonStruct(com.amazon.ion.IonStruct) IonList(com.amazon.ion.IonList) IonFloat(com.amazon.ion.IonFloat) Test(org.junit.Test)

Example 27 with IonList

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

the class EquivalenceTest method builderWithoutEpsilon.

@Test
public void builderWithoutEpsilon() {
    Equivalence equivalence = new Equivalence.Builder().build();
    IonFloat v1 = ionFloat(3.14);
    IonFloat v2 = ionFloat(3.14 + 1e-7);
    assertFalse(equivalence.ionValueEquals(v1, v2));
    assertFalse(equivalence.ionValueEquals(v2, v1));
    IonStruct struct1 = system().newEmptyStruct();
    struct1.add("foo", v1.clone());
    IonStruct struct2 = system().newEmptyStruct();
    struct2.add("foo", v2.clone());
    assertFalse(equivalence.ionValueEquals(struct1, struct2));
    assertFalse(equivalence.ionValueEquals(struct2, struct1));
    IonList list1 = system().newList(v1.clone());
    IonList list2 = system().newList(v2.clone());
    assertFalse(equivalence.ionValueEquals(list1, list2));
    assertFalse(equivalence.ionValueEquals(list2, list1));
}
Also used : IonStruct(com.amazon.ion.IonStruct) IonList(com.amazon.ion.IonList) IonFloat(com.amazon.ion.IonFloat) Test(org.junit.Test)

Example 28 with IonList

use of com.amazon.ion.IonList in project amazon-qldb-dmv-sample-java by aws-samples.

the class InsertIonTypes method main.

public static void main(final String... args) {
    final IonBlob ionBlob = Constants.SYSTEM.newBlob("hello".getBytes());
    final IonBool ionBool = Constants.SYSTEM.newBool(true);
    final IonClob ionClob = Constants.SYSTEM.newClob("{{'This is a CLOB of text.'}}".getBytes());
    final IonDecimal ionDecimal = Constants.SYSTEM.newDecimal(0.1);
    final IonFloat ionFloat = Constants.SYSTEM.newFloat(0.2);
    final IonInt ionInt = Constants.SYSTEM.newInt(1);
    final IonList ionList = Constants.SYSTEM.newList(new int[] { 1, 2 });
    final IonNull ionNull = Constants.SYSTEM.newNull();
    final IonSexp ionSexp = Constants.SYSTEM.newSexp(new int[] { 2, 3 });
    final IonString ionString = Constants.SYSTEM.newString("string");
    final IonStruct ionStruct = Constants.SYSTEM.newEmptyStruct();
    ionStruct.put("brand", Constants.SYSTEM.newString("ford"));
    final IonSymbol ionSymbol = Constants.SYSTEM.newSymbol("abc");
    final IonTimestamp ionTimestamp = Constants.SYSTEM.newTimestamp(Timestamp.now());
    final IonBlob ionNullBlob = Constants.SYSTEM.newNullBlob();
    final IonBool ionNullBool = Constants.SYSTEM.newNullBool();
    final IonClob ionNullClob = Constants.SYSTEM.newNullClob();
    final IonDecimal ionNullDecimal = Constants.SYSTEM.newNullDecimal();
    final IonFloat ionNullFloat = Constants.SYSTEM.newNullFloat();
    final IonInt ionNullInt = Constants.SYSTEM.newNullInt();
    final IonList ionNullList = Constants.SYSTEM.newNullList();
    final IonSexp ionNullSexp = Constants.SYSTEM.newNullSexp();
    final IonString ionNullString = Constants.SYSTEM.newNullString();
    final IonStruct ionNullStruct = Constants.SYSTEM.newNullStruct();
    final IonSymbol ionNullSymbol = Constants.SYSTEM.newNullSymbol();
    final IonTimestamp ionNullTimestamp = Constants.SYSTEM.newNullTimestamp();
    ConnectToLedger.getDriver().execute(txn -> {
        CreateTable.createTable(txn, TABLE_NAME);
        final Document document = new Document(Constants.SYSTEM.newString("val"));
        InsertDocument.insertDocuments(txn, TABLE_NAME, Collections.singletonList(document));
        updateRecordAndVerifyType(txn, ionBlob);
        updateRecordAndVerifyType(txn, ionBool);
        updateRecordAndVerifyType(txn, ionClob);
        updateRecordAndVerifyType(txn, ionDecimal);
        updateRecordAndVerifyType(txn, ionFloat);
        updateRecordAndVerifyType(txn, ionInt);
        updateRecordAndVerifyType(txn, ionList);
        updateRecordAndVerifyType(txn, ionNull);
        updateRecordAndVerifyType(txn, ionSexp);
        updateRecordAndVerifyType(txn, ionString);
        updateRecordAndVerifyType(txn, ionStruct);
        updateRecordAndVerifyType(txn, ionSymbol);
        updateRecordAndVerifyType(txn, ionTimestamp);
        updateRecordAndVerifyType(txn, ionNullBlob);
        updateRecordAndVerifyType(txn, ionNullBool);
        updateRecordAndVerifyType(txn, ionNullClob);
        updateRecordAndVerifyType(txn, ionNullDecimal);
        updateRecordAndVerifyType(txn, ionNullFloat);
        updateRecordAndVerifyType(txn, ionNullInt);
        updateRecordAndVerifyType(txn, ionNullList);
        updateRecordAndVerifyType(txn, ionNullSexp);
        updateRecordAndVerifyType(txn, ionNullString);
        updateRecordAndVerifyType(txn, ionNullStruct);
        updateRecordAndVerifyType(txn, ionNullSymbol);
        updateRecordAndVerifyType(txn, ionNullTimestamp);
        deleteTable(txn, TABLE_NAME);
    });
}
Also used : IonList(com.amazon.ion.IonList) IonInt(com.amazon.ion.IonInt) IonNull(com.amazon.ion.IonNull) IonBool(com.amazon.ion.IonBool) IonDecimal(com.amazon.ion.IonDecimal) IonSymbol(com.amazon.ion.IonSymbol) IonStruct(com.amazon.ion.IonStruct) IonSexp(com.amazon.ion.IonSexp) IonString(com.amazon.ion.IonString) IonTimestamp(com.amazon.ion.IonTimestamp) IonBlob(com.amazon.ion.IonBlob) IonClob(com.amazon.ion.IonClob) IonFloat(com.amazon.ion.IonFloat)

Aggregations

IonList (com.amazon.ion.IonList)28 IonStruct (com.amazon.ion.IonStruct)13 Test (org.junit.Test)10 SymbolTable (com.amazon.ion.SymbolTable)5 IonDatagram (com.amazon.ion.IonDatagram)4 IonFloat (com.amazon.ion.IonFloat)3 IonReader (com.amazon.ion.IonReader)3 IonSexp (com.amazon.ion.IonSexp)3 IonString (com.amazon.ion.IonString)3 IonSymbol (com.amazon.ion.IonSymbol)3 IonBlob (com.amazon.ion.IonBlob)2 IonClob (com.amazon.ion.IonClob)2 IonTimestamp (com.amazon.ion.IonTimestamp)2 IonValue (com.amazon.ion.IonValue)2 BlobTest (com.amazon.ion.BlobTest)1 ClobTest (com.amazon.ion.ClobTest)1 IntTest (com.amazon.ion.IntTest)1 IonBool (com.amazon.ion.IonBool)1 IonDecimal (com.amazon.ion.IonDecimal)1 IonException (com.amazon.ion.IonException)1