
de.comhix.twitch.database.dao.test.MockQuery Maven / Gradle / Ivy
package de.comhix.twitch.database.dao.test;
import de.comhix.twitch.database.dao.Query;
import de.comhix.twitch.database.objects.QueryResult;
import io.reactivex.Maybe;
import io.reactivex.Single;
import java.util.Collection;
import static com.google.common.collect.Lists.newArrayList;
/**
* @author Benjamin Beeker
*/
public class MockQuery extends Query {
private final Collection data;
public MockQuery() {
this(newArrayList());
}
public MockQuery(Type... data) {
this(newArrayList(data));
}
public MockQuery(Collection data) {
this.data = data;
}
@Override
public Query with(String field, Operation operation, AllowedValueType value) {
return this;
}
@Override
public Query limit(int limit) {
return this;
}
@Override
public Query skip(int skip) {
return this;
}
@Override
public Query order(String field) {
return this;
}
@Override
public Single> query() {
return Single.just(new QueryResult<>(newArrayList(data)));
}
@Override
public Maybe find() {
return data.isEmpty() ? Maybe.empty() : Maybe.just(data.iterator().next());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy