// Path: src/main/java/net/kimleo/rec/common/concept/Mapped.java
// public interface Mapped<T> {
//     T get(String field);
// 
//     List<String> keys();
// }
// 
// Path: src/main/java/net/kimleo/rec/sepval/parser/ParseConfig.java
// public class ParseConfig {
//     public final char delimiter;
//     public final char escape;
// 
//     public static final ParseConfig DEFAULT = new ParseConfig();
//     public static final ParseConfig BY_PIPE = new ParseConfig('|');
// 
//     public ParseConfig(char delimiter, char escape) {
//         this.delimiter = delimiter;
//         this.escape = escape;
//     }
// 
//     public ParseConfig(char delimiter) {
//         this(delimiter, '"');
//     }
// 
//     public ParseConfig() {
//         this(',', '"');
//     }
// }


import net.kimleo.rec.common.concept.Mapped;
import net.kimleo.rec.sepval.parser.ParseConfig;
import org.junit.Test;
import java.io.File;
import java.net.URL;
import java.nio.file.Files;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
package net.kimleo.rec.v2.model.impl;




public class BufferedCachingTeeTest {
    private int sum = 0;

    @Test
    public void shouldCachingAsExpected() throws Exception {
        URL resource = this.getClass().getClassLoader().getResource("CSVFileSource.csv");
        assert resource != null;
        File file = new File(resource.toURI());
        CSVSource source = new CSVSource(Files.newBufferedReader(file.toPath()),
// Path: src/main/java/net/kimleo/rec/common/concept/Mapped.java
// public interface Mapped<T> {
//     T get(String field);
// 
//     List<String> keys();
// }
// 
// Path: src/main/java/net/kimleo/rec/sepval/parser/ParseConfig.java
// public class ParseConfig {
//     public final char delimiter;
//     public final char escape;
// 
//     public static final ParseConfig DEFAULT = new ParseConfig();
//     public static final ParseConfig BY_PIPE = new ParseConfig('|');
// 
//     public ParseConfig(char delimiter, char escape) {
//         this.delimiter = delimiter;
//         this.escape = escape;
//     }
// 
//     public ParseConfig(char delimiter) {
//         this(delimiter, '"');
//     }
// 
//     public ParseConfig() {
//         this(',', '"');
//     }
// }


// Path: src/test/java/net/kimleo/rec/v2/model/impl/BufferedCachingTeeTest.java
import net.kimleo.rec.common.concept.Mapped;
import net.kimleo.rec.sepval.parser.ParseConfig;
import org.junit.Test;
import java.io.File;
import java.net.URL;
import java.nio.file.Files;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;

package net.kimleo.rec.v2.model.impl;




public class BufferedCachingTeeTest {
    private int sum = 0;

    @Test
    public void shouldCachingAsExpected() throws Exception {
        URL resource = this.getClass().getClassLoader().getResource("CSVFileSource.csv");
        assert resource != null;
        File file = new File(resource.toURI());
        CSVSource source = new CSVSource(Files.newBufferedReader(file.toPath()),
                "question, answer, duration", ParseConfig.DEFAULT);