コード例 #1
0
  /** Test the LazyInteger class. */
  public void testLazyInteger() throws Throwable {
    try {
      LazyInteger b =
          new LazyInteger(LazyPrimitiveObjectInspectorFactory.LAZY_INT_OBJECT_INSPECTOR);
      initLazyObject(b, new byte[] {'0'}, 0, 0);
      assertNull(b.getWritableObject());
      initLazyObject(b, new byte[] {'0'}, 0, 1);
      assertEquals(new IntWritable(0), b.getWritableObject());
      initLazyObject(b, new byte[] {'+', '0'}, 0, 2);
      assertEquals(new IntWritable(0), b.getWritableObject());
      initLazyObject(b, new byte[] {'-', '0'}, 0, 2);
      assertEquals(new IntWritable(0), b.getWritableObject());
      initLazyObject(b, new byte[] {'a', '1', 'b'}, 1, 1);
      assertEquals(new IntWritable(1), b.getWritableObject());
      initLazyObject(b, new byte[] {'a', '-', '1'}, 1, 2);
      assertEquals(new IntWritable(-1), b.getWritableObject());
      initLazyObject(b, new byte[] {'a', '+', '1'}, 1, 2);
      assertEquals(new IntWritable(1), b.getWritableObject());
      initLazyObject(b, new byte[] {'-', '1', '2', '8'}, 0, 4);
      assertEquals(new IntWritable(-128), b.getWritableObject());
      initLazyObject(b, new byte[] {'+', '1', '2', '7'}, 0, 4);
      assertEquals(new IntWritable(127), b.getWritableObject());
      initLazyObject(b, new byte[] {'-', '3', '2', '7', '6', '8'}, 0, 6);
      assertEquals(new IntWritable(-32768), b.getWritableObject());
      initLazyObject(b, new byte[] {'+', '3', '2', '7', '6', '7'}, 0, 6);
      assertEquals(new IntWritable(32767), b.getWritableObject());
      initLazyObject(b, new byte[] {'-', '2', '1', '4', '7', '4', '8', '3', '6', '4', '8'}, 0, 11);
      assertEquals(new IntWritable(-2147483648), b.getWritableObject());
      initLazyObject(b, new byte[] {'+', '2', '1', '4', '7', '4', '8', '3', '6', '4', '7'}, 0, 11);
      assertEquals(new IntWritable(2147483647), b.getWritableObject());

      initLazyObject(b, new byte[] {'a', '1', 'b'}, 1, 2);
      assertNull(b.getWritableObject());
      initLazyObject(b, new byte[] {'-', '2', '1', '4', '7', '4', '8', '3', '6', '4', '9'}, 0, 11);
      assertNull(b.getWritableObject());
      initLazyObject(b, new byte[] {'+', '2', '1', '4', '7', '4', '8', '3', '6', '4', '8'}, 0, 11);
      assertNull(b.getWritableObject());
      initLazyObject(b, new byte[] {'-', '1', '2', '3'}, 0, 1);
      assertNull(b.getWritableObject());
      initLazyObject(b, new byte[] {'+', '1', '2', '3'}, 0, 1);
      assertNull(b.getWritableObject());

    } catch (Throwable e) {
      e.printStackTrace();
      throw e;
    }
  }