001/** 002 * Powerunit - A JDK1.8 test framework 003 * Copyright (C) 2014 Mathieu Boretti. 004 * 005 * This file is part of Powerunit 006 * 007 * Powerunit is free software: you can redistribute it and/or modify 008 * it under the terms of the GNU General Public License as published by 009 * the Free Software Foundation, either version 3 of the License, or 010 * (at your option) any later version. 011 * 012 * Powerunit is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 015 * GNU General Public License for more details. 016 * 017 * You should have received a copy of the GNU General Public License 018 * along with Powerunit. If not, see <http://www.gnu.org/licenses/>. 019 */ 020package ch.powerunit.function.lang; 021 022import java.util.function.Supplier; 023 024/** 025 * Specification of an argument for the test. 026 * 027 * @author borettim 028 * @since 0.3.0 029 */ 030public interface FunctionTesterStartDSL<T, R> { 031 /** 032 * Specify the input argument. 033 * 034 * @param input 035 * the argument to be passed. 036 * @return the {@link FunctionTesterDefineDSL the next step of the DSL} 037 */ 038 FunctionTesterDefineDSL<T, R> passingAsParameter(T input); 039 040 /** 041 * Specify the input argument. 042 * 043 * @param input 044 * a supplier to provide the argument to be passed. 045 * @return the {@link FunctionTesterDefineDSL the next step of the DSL} 046 */ 047 FunctionTesterDefineDSL<T, R> passingAsParameter(Supplier<T> input); 048}