public void nextBatch_predicate() { try (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV5GROUPED), true)) { ImmutableList<String> headers = csvFile.headers(); assertEquals(headers.size(), 2); assertEquals(headers.get(0), "id"); assertEquals(headers.get(1), "value"); int batches = 0; int total = 0; while (csvFile.hasNext()) { CsvRow first = csvFile.peek(); String id = first.getValue("id"); List<CsvRow> batch = csvFile.nextBatch(row -> row.getValue("id").equals(id)); assertEquals(batch.stream().map(row -> row.getValue("id")).distinct().count(), 1); batches++; total += batch.size(); } assertEquals(batches, 3); assertEquals(total, 6); } }
public void test_nextBatch1() { try (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV1), true)) { ImmutableList<String> headers = csvFile.headers(); assertEquals(headers.size(), 2); assertEquals(headers.get(0), "h1"); assertEquals(headers.get(1), "h2"); List<CsvRow> a = csvFile.nextBatch(0); assertEquals(a.size(), 0); List<CsvRow> b = csvFile.nextBatch(1); assertEquals(b.size(), 1); CsvRow row0 = b.get(0); assertEquals(row0.headers(), headers); assertEquals(row0.fieldCount(), 2); assertEquals(row0.field(0), "r11"); assertEquals(row0.field(1), "r12"); List<CsvRow> c = csvFile.nextBatch(2); assertEquals(c.size(), 1); CsvRow row1 = c.get(0); assertEquals(row1.headers(), headers); assertEquals(row1.fieldCount(), 2); assertEquals(row1.field(0), "r21"); assertEquals(row1.field(1), "r22"); List<CsvRow> d = csvFile.nextBatch(2); assertEquals(d.size(), 0); assertEquals(csvFile.hasNext(), false); } }
List<CsvRow> batchRows = csv.nextBatch(r -> matchId(r, id)); for (CsvRow batchRow : batchRows) { try {
public void test_nextBatch2() { try (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV1), true)) { ImmutableList<String> headers = csvFile.headers(); assertEquals(headers.size(), 2); assertEquals(headers.get(0), "h1"); assertEquals(headers.get(1), "h2"); List<CsvRow> a = csvFile.nextBatch(3); assertEquals(a.size(), 2); CsvRow row0 = a.get(0); assertEquals(row0.headers(), headers); assertEquals(row0.fieldCount(), 2); assertEquals(row0.field(0), "r11"); assertEquals(row0.field(1), "r12"); CsvRow row1 = a.get(1); assertEquals(row1.headers(), headers); assertEquals(row1.fieldCount(), 2); assertEquals(row1.field(0), "r21"); assertEquals(row1.field(1), "r22"); List<CsvRow> d = csvFile.nextBatch(2); assertEquals(d.size(), 0); assertEquals(csvFile.hasNext(), false); assertEquals(csvFile.hasNext(), false); } }
List<CsvRow> batchRows = csv.nextBatch(r -> matchId(r, id)); for (CsvRow batchRow : batchRows) { try {
List<CsvRow> batchRows = csv.nextBatch(r -> matchId(r, id)); for (CsvRow batchRow : batchRows) { try {