/** * Adds input or expected values to this {@link TestRecords}. */ public TestRecords add(final Value... values) { final Record pactRecord = new Record(); for (final Value value : values) pactRecord.addField(value); this.add(pactRecord); return this; }
@Override public Record nextRecord(Record record) throws IOException { if (it.hasNext()) { record.clear(); Object b = it.next(); // check whether the record field is one-dimensional or multi-dimensional if (b.getClass().isArray()) { for (Object s : (Object[]) b) { record.addField(ValueUtil.toStratosphere(s)); } } else if (b instanceof Collection) { @SuppressWarnings("unchecked") Iterator<Object> tmpIter = ((Collection<Object>) b).iterator(); while (tmpIter.hasNext()) { Object s = tmpIter.next(); record.addField(ValueUtil.toStratosphere(s)); } } else { record.setField(0, ValueUtil.toStratosphere(b)); } return record; } else { return null; } }
@Override public Record readRecord(Record target, byte[] bytes, int offset, int numBytes) { String str = new String(bytes, offset, numBytes); String[] tokens = SEPARATOR.split(str); long vertexID = Long.parseLong(tokens[0]); boolean isDangling = tokens.length > 1 && Integer.parseInt(tokens[1]) == 1; target.clear(); target.addField(new LongValue(vertexID)); target.addField(initialRank); target.addField(new BooleanValue(isDangling)); return target; } }
private Record generateFilledDenseRecord(int numFields) { Record record = new Record(); for (int i = 0; i < numFields; i++) { record.addField(new IntValue(this.rand.nextInt())); } return record; }
@Override public Record readRecord(Record target, byte[] bytes, int offset, int numBytes) { arrayView.set(bytes, offset, numBytes); try { arrayView.next(); vertexID.setValue(arrayView.element()); if (arrayView.next()) { isDangling.set(arrayView.element() == DANGLING_MARKER); } else { isDangling.set(false); } } catch (NumberFormatException e) { throw new RuntimeException("Error parsing " + arrayView.toString(), e); } target.clear(); target.addField(vertexID); target.addField(initialRank); target.addField(isDangling); return target; } }
@Override public Record readRecord(Record target, byte[] bytes, int offset, int numBytes) { arrayView.set(bytes, offset, numBytes); try { arrayView.next(); vertexID.setValue(arrayView.element()); if (arrayView.next()) { isDangling.set(arrayView.element() == DANGLING_MARKER); } else { isDangling.set(false); } } catch (NumberFormatException e) { throw new RuntimeException("Error parsing " + arrayView.toString(), e); } target.clear(); target.addField(vertexID); target.addField(initialRank); target.addField(isDangling); return target; } }
record.addField(this.origVal1); assertTrue(record.getNumFields() == 1); assertTrue(origVal1.getValue().equals(record.getField(0, StringValue.class).getValue())); for (int i = 0; i < 100; i++) { IntValue orig = new IntValue(this.rand.nextInt()); record.addField(orig); IntValue rec = record.getField(i, IntValue.class); record.addField(this.origVal3);
record.addField(this.origVal3); record.removeField(1);