10ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin/*
20ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * Copyright (C) 2016 The Android Open Source Project
30ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin *
40ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * Licensed under the Apache License, Version 2.0 (the "License");
50ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * you may not use this file except in compliance with the License.
60ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * You may obtain a copy of the License at
70ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin *
80ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin *      http://www.apache.org/licenses/LICENSE-2.0
90ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin *
100ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * Unless required by applicable law or agreed to in writing, software
110ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * distributed under the License is distributed on an "AS IS" BASIS,
120ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * See the License for the specific language governing permissions and
140ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * limitations under the License.
150ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin */
160ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin
170ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffinpackage vogar.target.junit;
180ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin
19654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffinimport org.junit.rules.TestRule;
200ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffinimport org.junit.runner.Runner;
210ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffinimport org.junit.runners.model.RunnerBuilder;
220ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin
230ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin/**
240ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * Parameters for the various vogar {@link Runner} implementation classes.
250ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin *
260ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * <p>RunnerParams can be used to configure {@link RunnerBuilder} instances. RunnerBuilder doesn't
270ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * have a method that allows parameters so they must be passed, for example, as a constructor
280ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin * argument to the RunnerBuilder implementation.
290ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin */
300ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffinpublic class RunnerParams {
310ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin
320ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin    private final String qualification;
330ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin    private final String[] args;
34654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin    private final TestRule testRule;
350ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin
36654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin    public RunnerParams(String qualification, String[] args, TestRule testRule) {
370ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin        this.qualification = qualification;
380ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin        this.args = args;
39654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin        this.testRule = testRule;
400ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin    }
410ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin
420ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin    public String getQualification() {
430ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin        return qualification;
440ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin    }
450ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin
460ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin    public String[] getArgs() {
470ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin        return args;
480ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin    }
490ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin
50654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin    public TestRule getTestRule() {
51654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin        return testRule;
520ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin    }
530ac5f70e1c316fc5efbb4b2b8fff513cf764bbcfPaul Duffin}
54