/* * SSSync, a Simple and Stupid Synchronizer for data with multi-valued attributes * Copyright (C) 2014 Ludovic Pouzenc * * This file is part of SSSync. * * SSSync is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * SSSync is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with SSSync. If not, see */ package data.io.stub; import java.util.Iterator; import java.util.NoSuchElementException; import data.MVDataEntry; import data.io.AbstractMVDataReader; /** * Stub reader implementation for automated tests. * * @author lpouzenc */ public class StubDataReader extends AbstractMVDataReader { private final MVDataEntry fakeEntries[]; private int cursorRead; public StubDataReader(String dataSourceName, MVDataEntry[] fakeEntries) { this.dataSourceName = dataSourceName; this.fakeEntries = fakeEntries.clone(); } @Override public Iterator iterator() { this.cursorRead = 0; return this; } @Override public boolean hasNext() { return cursorRead < fakeEntries.length; } @Override public MVDataEntry next() { if ( ! hasNext() ) { throw new NoSuchElementException(); } return fakeEntries[cursorRead++]; } }