Examples of TupleFactory


Examples of org.apache.pig.data.TupleFactory

            cols.add(j+1);
            proj.setColumns(cols);
            res = proj.getNext(t);
            if (res.returnStatus == POStatus.STATUS_EOP)
                break;
          TupleFactory tupleFactory = TupleFactory.getInstance();
          ArrayList<Object> objList = new ArrayList<Object>();
            objList.add(t.get(j));
            objList.add(t.get(j+1));
        Tuple expectedResult = tupleFactory.newTuple(objList);
            assertEquals(POStatus.STATUS_OK, res.returnStatus);
            assertEquals(expectedResult, res.result);
            ++j;
            cols.clear();
        }
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

        assertTrue(r==null);
        r = func.exec(t3);
        assertTrue(r==null);
       
        String matchRegex = "^(.+)\\b\\s+is a\\s+\\b(.+)$";
        TupleFactory tupleFactory = TupleFactory.getInstance();
        Tuple te1 = tupleFactory.newTuple(2);
        te1.set(0,"this is a match");
        te1.set(1, matchRegex);
       
        Tuple te2 = tupleFactory.newTuple(2);
        te2.set(0, "no match");
        te2.set(1, matchRegex);
       
        Tuple te3 = tupleFactory.newTuple(2);
        te3.set(0, null);
        te3.set(1, matchRegex);
    
        REGEX_EXTRACT_ALL funce = new REGEX_EXTRACT_ALL();
        Tuple re = funce.exec(te1);
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

  assertEquals("", m.get("k2"), 2.0);
  assertEquals("", m.get("k3"), "foo");

       
        TOP top = new TOP();
        TupleFactory tupleFactory = TupleFactory.getInstance();
        BagFactory bagFactory = DefaultBagFactory.getInstance();
        Tuple inputTuple = tupleFactory.newTuple(3);
        DataBag dBag = bagFactory.newDefaultBag();
       
        // set N = 10 i.e retain top 10 tuples
        inputTuple.set(0, 10);
        // compare tuples by field number 1
        inputTuple.set(1, 1);
        // set the data bag containing the tuples
        inputTuple.set(2, dBag);

        // generate tuples of the form (group-1, 1), (group-2, 2) ...
        for (long i = 0; i < 100; i++) {
            Tuple nestedTuple = tupleFactory.newTuple(2);
            nestedTuple.set(0, "group-" + i);
            nestedTuple.set(1, i);
            dBag.add(nestedTuple);
        }
       
        DataBag outBag = top.exec(inputTuple);
        assertEquals(outBag.size(), 10L);
        checkItemsGT(outBag, 1, 89);
       
        // two initial results
        Tuple init1 = (new TOP.Initial()).exec(inputTuple);
        Tuple init2 = (new TOP.Initial()).exec(inputTuple);
        // two intermediate results

        DataBag intermedBag = bagFactory.newDefaultBag();
        intermedBag.add(init1);
        intermedBag.add(init2);
        Tuple intermedInput = tupleFactory.newTuple(intermedBag);
        Tuple intermedOutput1 = (new TOP.Intermed()).exec(intermedInput);
        Tuple intermedOutput2 = (new TOP.Intermed()).exec(intermedInput);
        checkItemsGT((DataBag)intermedOutput1.get(2), 1, 94);

        // final result
        DataBag finalInputBag = bagFactory.newDefaultBag();
        finalInputBag.add(intermedOutput1);
        finalInputBag.add(intermedOutput2);
        Tuple finalInput = tupleFactory.newTuple(finalInputBag);
        outBag = (new TOP.Final()).exec(finalInput);
        assertEquals(outBag.size(), 10L);
        checkItemsGT(outBag, 1, 96);
    }
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

        assertEquals("amy smith", t.get(3));
    }
   
    @Test
    public void testTOKENIZE() throws Exception {
        TupleFactory tf = TupleFactory.getInstance();
        Tuple t1 = tf.newTuple(1);
        t1.set(0, "123 456\"789");
        Tuple t2 = tf.newTuple(1);
        t2.set(0, null);
        Tuple t3 = tf.newTuple(0);
       
        TOKENIZE f = new TOKENIZE();
        DataBag b = f.exec(t1);
        assertTrue(b.size()==3);
        Iterator<Tuple> i = b.iterator();
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

    @Test
    public void testDIFF() throws Exception {
        // Test it in the case with two bags.
        BagFactory bf = BagFactory.getInstance();
        TupleFactory tf = TupleFactory.getInstance();

        DataBag b1 = bf.newDefaultBag();
        DataBag b2 = bf.newDefaultBag();
        for (int i = 0; i < 10; i++) b1.add(tf.newTuple(new Integer(i)));
        for (int i = 0; i < 10; i += 2) b2.add(tf.newTuple(new Integer(i)));
        Tuple t = tf.newTuple(2);
        t.set(0, b1);
        t.set(1, b2);
        DIFF d = new DIFF();
        DataBag result = d.exec(t);

        assertEquals(5, result.size());
        Iterator<Tuple> i = result.iterator();
        int[] values = new int[5];
        for (int j = 0; j < 5; j++) values[j] = (Integer)i.next().get(0);
        Arrays.sort(values);
        for (int j = 1; j < 10; j += 2) assertEquals(j, values[j/2]);

        // Test it in the case of two objects that are equals
        t = tf.newTuple(2);
        t.set(0, new Integer(1));
        t.set(1, new Integer(1));
        result = d.exec(t);
        assertEquals(0, result.size());

        // Test it in the case of two objects that are not equal
        t = tf.newTuple(2);
        t.set(0, new Integer(1));
        t.set(1, new Integer(2));
        result = d.exec(t);
        assertEquals(2, result.size());
    }
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

    // Plan to test when result type is ByteArray and casting is requested
    // for example casting of values coming out of map lookup.
    POCast opWithInputTypeAsBA = new POCast(new OperatorKey("", r.nextLong()), -1);
    PhysicalPlan planToTestBACasts = constructPlan(opWithInputTypeAsBA);
   
    TupleFactory tf = TupleFactory.getInstance();
   
    {
      Tuple t = tf.newTuple();
      t.append((new Integer(r.nextInt())).toString());
      plan.attachInput(t);
      Integer i = Integer.valueOf(((String) t.get(0)));
      Result res = op.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + i);
        assertEquals(i, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(i, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append((new Float(r.nextFloat())).toString());
      plan.attachInput(t);
      Float i = Float.valueOf(((String) t.get(0)));
      Result res = op.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + i);
        assertEquals(i, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(i, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append((new Long(r.nextLong())).toString());
      plan.attachInput(t);
      Long i = Long.valueOf(((String) t.get(0)));
      Result res = op.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + i);
        assertEquals(i, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(i, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append((new Double(r.nextDouble())).toString());
      plan.attachInput(t);
      Double i = Double.valueOf(((String) t.get(0)));
      Result res = op.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + i);
        assertEquals(i, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(i, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      plan.attachInput(t);
      String str = (String) t.get(0);
      Result res = op.getNext(str);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + str);
        assertEquals(str, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(str);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(str, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
   
      plan.attachInput(t);
      DataByteArray dba = new DataByteArray(((String)t.get(0)).getBytes());
      Result res = op.getNext(dba);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + dba);
        assertEquals(dba, res.result);
      }
     
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(dba);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(dba, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      plan.attachInput(t);
      Map map = null;
      Result res = op.getNext(map);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      plan.attachInput(t);
      Result res = op.getNext(t);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      plan.attachInput(t);
      DataBag b = null;
      Result res = op.getNext(b);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

    plan.add(op);
    plan.connect(prj, op);
   
    prj.setResultType(DataType.BYTEARRAY);
   
    TupleFactory tf = TupleFactory.getInstance();
   
    // Plan to test when result type is ByteArray and casting is requested
    // for example casting of values coming out of map lookup.
    POCast opWithInputTypeAsBA = new POCast(new OperatorKey("", r.nextLong()), -1);
    PhysicalPlan planToTestBACasts = constructPlan(opWithInputTypeAsBA);
    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray((new Integer(r.nextInt())).toString().getBytes()));
      plan.attachInput(t);
      Integer i = Integer.valueOf(((DataByteArray) t.get(0)).toString());
      Result res = op.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + i);
        assertEquals(i, res.result);
      }
     
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(i, res.result);

    }

    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray((new Float(r.nextFloat())).toString().getBytes()));
      plan.attachInput(t);
      Float i = Float.valueOf(((DataByteArray) t.get(0)).toString());
      Result res = op.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + i);
        assertEquals(i, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(i, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray((new Long(r.nextLong())).toString().getBytes()));
      plan.attachInput(t);
      Long i = Long.valueOf(((DataByteArray) t.get(0)).toString());
      Result res = op.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + i);
        assertEquals(i, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(i, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray((new Double(r.nextDouble())).toString().getBytes()));
      plan.attachInput(t);
      Double i = Double.valueOf(((DataByteArray) t.get(0)).toString());
      Result res = op.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + i);
        assertEquals(i, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(i);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(i, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray(GenRandomData.genRandString(r).getBytes()));
      plan.attachInput(t);
      String str = ((DataByteArray) t.get(0)).toString();
      Result res = op.getNext(str);
      if(res.returnStatus == POStatus.STATUS_OK) {
        //System.out.println(res.result + " : " + str);
        assertEquals(str, res.result);
      }
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(str);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(str, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray(GenRandomData.genRandString(r).getBytes()));
     
      plan.attachInput(t);
      DataByteArray dba = (DataByteArray) t.get(0);
      Result res = op.getNext(dba);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
     
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(dba);
      if(res.returnStatus == POStatus.STATUS_OK)
        assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray(GenRandomData.genRandString(r).getBytes()));
      plan.attachInput(t);
      Map map = null;
      Result res = op.getNext(map);
      //assertEquals(POStatus.STATUS_ERR, res.returnStatus);
      assertEquals(POStatus.STATUS_OK, res.returnStatus);
      assertEquals(null, res.result);
     
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(map);
      assertEquals(POStatus.STATUS_OK, res.returnStatus);
      assertEquals(null, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray(GenRandomData.genRandString(r).getBytes()));
      plan.attachInput(t);
      Result res = op.getNext(t);
      //assertEquals(POStatus.STATUS_ERR, res.returnStatus);
      assertEquals(POStatus.STATUS_OK, res.returnStatus);
      assertEquals(null, res.result);
     
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(t);
      assertEquals(POStatus.STATUS_OK, res.returnStatus);
      assertEquals(null, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(new DataByteArray(GenRandomData.genRandString(r).getBytes()));
      plan.attachInput(t);
      DataBag b = null;
      Result res = op.getNext(b);
      //assertEquals(POStatus.STATUS_ERR, res.returnStatus);
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

     */
  @Test
  public void testByteArrayToOtherNoCast() throws IOException {
        POCast op = new POCast(new OperatorKey("", r.nextLong()), -1);
        PhysicalPlan plan = constructPlan(op);
        TupleFactory tf = TupleFactory.getInstance();
       
        {
            Tuple t = tf.newTuple();
            Integer input = new Integer(r.nextInt());
            t.append(input);
            plan.attachInput(t);
            Result res = op.getNext(new Integer(0));
            if(res.returnStatus == POStatus.STATUS_OK) {
                //System.out.println(res.result + " : " + i);
                assertEquals(input, res.result);
            }
        }
       
        {
            // create a new POCast each time since we
            // maintain a state variable per POCast object
            // indicating if cast is really required
            POCast newOp = new POCast(new OperatorKey("", r.nextLong()), -1);
            plan = constructPlan(newOp);
            Tuple t = tf.newTuple();
            Float input = new Float(r.nextFloat());
            t.append(input);
            plan.attachInput(t);
            Result res = newOp.getNext(new Float(0));
            if(res.returnStatus == POStatus.STATUS_OK) {
                //System.out.println(res.result + " : " + i);
                assertEquals(input, res.result);
            }
        }
       
        {
            // create a new POCast each time since we
            // maintain a state variable per POCast object
            // indicating if cast is really required
            POCast newOp = new POCast(new OperatorKey("", r.nextLong()), -1);
            plan = constructPlan(newOp);
            Tuple t = tf.newTuple();
            Long input = new Long(r.nextLong());
            t.append(input);
            plan.attachInput(t);
            Result res = newOp.getNext(new Long(0));
            if(res.returnStatus == POStatus.STATUS_OK) {
                //System.out.println(res.result + " : " + i);
                assertEquals(input, res.result);
            }
        }
       
        {
            // create a new POCast each time since we
            // maintain a state variable per POCast object
            // indicating if cast is really required
            POCast newOp = new POCast(new OperatorKey("", r.nextLong()), -1);
            plan = constructPlan(newOp);
            Tuple t = tf.newTuple();
            Double input = new Double(r.nextDouble());
            t.append(input);
            plan.attachInput(t);
            Result res = newOp.getNext(new Double(0));
            if(res.returnStatus == POStatus.STATUS_OK) {
                //System.out.println(res.result + " : " + i);
                assertEquals(input, res.result);
            }
        }
       
        {
            // create a new POCast each time since we
            // maintain a state variable per POCast object
            // indicating if cast is really required
            POCast newOp = new POCast(new OperatorKey("", r.nextLong()), -1);
            plan = constructPlan(newOp);
            Tuple t = tf.newTuple();
            Tuple input = GenRandomData.genRandSmallTuple("test", 1);
            t.append(input);
            plan.attachInput(t);
            Result res = newOp.getNext(tf.newTuple());
            if(res.returnStatus == POStatus.STATUS_OK) {
                //System.out.println(res.result + " : " + str);
                assertEquals(input, res.result);
            }
        }
       
        {
            // create a new POCast each time since we
            // maintain a state variable per POCast object
            // indicating if cast is really required
            POCast newOp = new POCast(new OperatorKey("", r.nextLong()), -1);
            plan = constructPlan(newOp);
            Tuple t = tf.newTuple();
            DataBag input = GenRandomData.genRandSmallTupDataBag(r, 10, 100);
            t.append(input);
            plan.attachInput(t);
            Result res = newOp.getNext(DefaultBagFactory.getInstance().newDefaultBag());
            if(res.returnStatus == POStatus.STATUS_OK) {
                //System.out.println(res.result + " : " + str);
                assertEquals(input, res.result);
            }
        }
       
        {
            // create a new POCast each time since we
            // maintain a state variable per POCast object
            // indicating if cast is really required
            POCast newOp = new POCast(new OperatorKey("", r.nextLong()), -1);
            plan = constructPlan(newOp);
            Tuple t = tf.newTuple();
            Map<String, Object> input = new HashMap<String, Object>();
            input.put("key1", "value1");
            input.put("key2", "value2");
            t.append(input);
            plan.attachInput(t);
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

    plan.add(op);
    plan.connect(prj, op);
   
    prj.setResultType(DataType.TUPLE);
   
    TupleFactory tf = TupleFactory.getInstance();
   
    //Plan to test when result type is ByteArray and casting is requested
    //for example casting of values coming out of map lookup.
    POCast opWithInputTypeAsBA = new POCast(new OperatorKey("", r.nextLong()), -1);
    PhysicalPlan planToTestBACasts = constructPlan(opWithInputTypeAsBA);
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      Map map = null;
      Result res = op.getNext(map);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      Result res = op.getNext(t);
      //System.out.println(res.result + " : " + t);
      assertEquals(t, res.result);
     
      planToTestBACasts.attachInput(tNew);
      res = opWithInputTypeAsBA.getNext(t);
      assertEquals(t, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      DataBag b = null;
      Result res = op.getNext(b);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      Integer i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      Long i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      Float i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      Double i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
       
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      String i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandString(r));
      Tuple tNew = tf.newTuple();
      tNew.append(t);
      plan.attachInput(tNew);
      DataByteArray i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
     
      op.setFuncSpec(new FuncSpec(BinStorage.class.getName()));
      plan.attachInput(tNew);
      res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
        {
            Tuple t = tf.newTuple();
            Tuple wrappedTuple = tf.newTuple();
            wrappedTuple.append(GenRandomData.genRandString(r));
            wrappedTuple.append(GenRandomData.genRandString(r));
            t.append(wrappedTuple);
            Schema s = Utils.getSchemaFromString("t:tuple(a:chararray)}");
            op.setFieldSchema(new ResourceSchema.ResourceFieldSchema(s.getField(0)));
View Full Code Here

Examples of org.apache.pig.data.TupleFactory

    plan.add(op);
    plan.connect(prj, op);
   
    prj.setResultType(DataType.BAG);
   
    TupleFactory tf = TupleFactory.getInstance();
   
    //Plan to test when result type is ByteArray and casting is requested
    //for example casting of values coming out of map lookup.
    POCast opWithInputTypeAsBA = new POCast(new OperatorKey("", r.nextLong()), -1);
    PhysicalPlan planToTestBACasts = constructPlan(opWithInputTypeAsBA);
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
      plan.attachInput(t);
      Map map = null;
      Result res = op.getNext(map);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
      plan.attachInput(t);
      Result res = op.getNext(t);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
      plan.attachInput(t);
      DataBag b = (DataBag) t.get(0);
      Result res = op.getNext(b);
      //System.out.println(res.result + " : " + t);
      assertEquals(b, res.result);
     
      planToTestBACasts.attachInput(t);
      res = opWithInputTypeAsBA.getNext(b);
      assertEquals(b, res.result);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
      plan.attachInput(t);
      Integer i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
      plan.attachInput(t);
      Long i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));      
      plan.attachInput(t);
      Float i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
      plan.attachInput(t);
      Double i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
      plan.attachInput(t);
      String i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
    {
      Tuple t = tf.newTuple();
      t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
      plan.attachInput(t);
      DataByteArray i = null;
      Result res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
     
      op.setFuncSpec(new FuncSpec(BinStorage.class.getName()));
      plan.attachInput(t);
      res = op.getNext(i);
      assertEquals(POStatus.STATUS_ERR, res.returnStatus);
    }
   
        {
            Tuple t = tf.newTuple();
            t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
            Schema s = Utils.getSchemaFromString("b:bag{t:tuple(a:chararray, b:float)}");
            op.setFieldSchema(new ResourceSchema.ResourceFieldSchema(s.getField(0)));
            plan.attachInput(t);
            DataBag db = null;
            Result res = op.getNext(db);
            Iterator<Tuple> expectedBagIterator = ((DataBag)(t.get(0))).iterator();
            Iterator<Tuple> convertedBagIterator = ((DataBag)(res.result)).iterator();
           
            while(expectedBagIterator.hasNext()) {
                Tuple expectedBagTuple = expectedBagIterator.next();
                Tuple convertedBagTuple = convertedBagIterator.next();
                assertTrue(convertedBagTuple.get(0) instanceof String);
                assertTrue(convertedBagTuple.get(1) instanceof Float);
                assertTrue(expectedBagTuple.get(0).equals(convertedBagTuple.get(0)));
                assertTrue(((Float)(expectedBagTuple.get(1))).floatValue()==(Float)(convertedBagTuple.get(1)));
            }
        }
       
        {
            Tuple t = tf.newTuple();
            t.append(GenRandomData.genRandSmallTupDataBag(r, 1, 100));
            Schema s = Utils.getSchemaFromString("b:bag{}");
            op.setFieldSchema(new ResourceSchema.ResourceFieldSchema(s.getField(0)));
            plan.attachInput(t);
            DataBag db = null;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.