Assert.assertEquals(1001L, tupRecord1.get(1));
Map<String, String> map1 = (Map<String, String>) row.get(2);
Assert.assertEquals("x", map1.get("a"));
Assert.assertEquals("y", map1.get("b"));
Assert.assertEquals("z", map1.get("c"));
DataBag bagColl = (DataBag) row.get(3);
Iterator<Tuple> itorColl = bagColl.iterator();
Tuple tupColl = itorColl.next();
Assert.assertEquals(3.1415926, tupColl.get(0));
Assert.assertEquals(1.6, tupColl.get(1));
DataByteArray dba = (DataByteArray) tupColl.get(2);
Assert.assertEquals(11, dba.get()[0]);
Assert.assertEquals(12, dba.get()[1]);
Assert.assertEquals(13, dba.get()[2]);
tupColl = itorColl.next();
Assert.assertEquals(123.456789, tupColl.get(0));
Assert.assertEquals(100, tupColl.get(1));
dba = (DataByteArray) tupColl.get(2);
Assert.assertEquals(21, dba.get()[0]);
Assert.assertEquals(22, dba.get()[1]);
Assert.assertEquals(23, dba.get()[2]);
Assert.assertEquals(24, dba.get()[3]);
// move to next row
scanner.advance();
scanner.getKey(key);
Assert.assertEquals(key, new BytesWritable("k2".getBytes()));
TypesUtils.resetTuple(row);
scanner.getValue(row);
Assert.assertEquals(false, row.get(0));
Tuple tupRecord2 = (Tuple) row.get(1);
Assert.assertEquals(2, tupRecord2.get(0));
Assert.assertEquals(1002L, tupRecord2.get(1));
Map<String, String> map2 = (Map<String, String>) row.get(2);
Assert.assertEquals("girl", map2.get("boy"));
Assert.assertEquals("amy", map2.get("adam"));
Assert.assertEquals("cathy", map2.get("carl"));
bagColl = (DataBag) row.get(3);
itorColl = bagColl.iterator();
tupColl = itorColl.next();
Assert.assertEquals(7654.321, tupColl.get(0));
Assert.assertEquals(0.0001, tupColl.get(1));
tupColl = itorColl.next();
Assert.assertEquals(0.123456789, tupColl.get(0));