public void testLazyIntegerWrite() throws Throwable { try { ByteStream.Output out = new ByteStream.Output(); int[] tests = { 0, -1, 1, -10, 10, -123, 123, Integer.MIN_VALUE, Integer.MIN_VALUE + 1, Integer.MAX_VALUE, Integer.MAX_VALUE - 1 }; for (int v : tests) { out.reset(); LazyInteger.writeUTF8(out, v); Text t = new Text(); t.set(out.getData(), 0, out.getCount()); assertEquals(String.valueOf(v), t.toString()); } } catch (Throwable e) { e.printStackTrace(); throw e; } }
/** 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; } }