コード例 #1
0
  @Test
  public void testNullableOfNullable() {
    Schema schema = new Schema("testSchema", Fields.parse("a:string, b:int, c:double"));
    NullableTuple nullableTuple = new NullableTuple(schema);
    nullableTuple.set(0, "foo");
    nullableTuple.set("b", null);
    nullableTuple.set("c", 20d);

    NullableTuple tuple2 = new NullableTuple(nullableTuple);
    assertEquals("foo", tuple2.getNullable("a").toString());
    assertEquals(null, tuple2.getNullable(1));
    assertEquals(20d, tuple2.getNullable(2));
    assertEquals(
        nullableTuple.getSchema().getFields().size(), tuple2.getSchema().getFields().size());
  }
コード例 #2
0
  @Test
  public void testMoreThanEightProps() {
    List<Field> fields = new ArrayList<Field>(30);
    for (int i = 0; i < 30; i++) {
      fields.add(Field.create("field" + i, Type.STRING));
    }
    Schema schema = new Schema("bigmammaschema", fields);

    ITuple tuple = new Tuple(schema);
    for (int i = 0; i < 30; i++) {
      // Fill in with some default values
      tuple.set("field" + i, "defaultValue" + i);
    }

    NullableTuple nullableTuple = new NullableTuple(tuple);
    for (int i = 0; i < 30; i++) {
      // Assert the default values
      assertEquals("defaultValue" + i, nullableTuple.get("field" + i));
    }

    // Set fields to null one by one and assert that things go well
    for (int i = 0; i < 30; i++) {
      nullableTuple.set("field" + i, null);
      assertEquals(null, nullableTuple.getNullable("field" + i));
      nullableTuple.set("field" + i, "defaultValue" + i);
      assertEquals("defaultValue" + i, nullableTuple.getNullable("field" + i));
    }
  }
コード例 #3
0
  @Test
  public void testDirectUseNoWrapper() {
    Schema schema = new Schema("testSchema", Fields.parse("a:string, b:int, c:double"));
    NullableTuple nullableTuple = new NullableTuple(schema);
    nullableTuple.set(0, "foo");
    nullableTuple.set("b", null);
    nullableTuple.set("c", 20d);

    assertEquals("foo", nullableTuple.getNullable("a").toString());
    assertEquals(null, nullableTuple.getNullable(1));
    assertEquals(20d, nullableTuple.getNullable(2));
  }
コード例 #4
0
  @Test
  public void testNoNullableWrapperWithNulls() {
    Schema schema =
        new Schema(
            "testSchema", Fields.parse("a:string, b:int, c:double, d:float, e:boolean, f:long"));
    ITuple tuple = new Tuple(schema);
    tuple.set(0, "foo");
    tuple.set(1, null);
    tuple.set(2, 20d);
    tuple.set(3, null);
    tuple.set(4, false);
    tuple.set(5, null);

    NullableTuple nullableTuple = new NullableTuple(tuple);
    assertEquals("foo", nullableTuple.getNullable(0).toString());
    assertEquals(null, nullableTuple.getNullable(1));
    assertEquals(20d, nullableTuple.getNullable(2));
    assertEquals(null, nullableTuple.getNullable(3));
    assertEquals(false, nullableTuple.getNullable(4));
    assertEquals(null, nullableTuple.getNullable(5));
  }