Home | History | Annotate | Download | only in runtime
      1 /*
      2  * Copyright (C) 2009 The Android Open Source Project
      3  *
      4  * Licensed under the Eclipse Public License, Version 1.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.eclipse.org/org/documents/epl-v10.php
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 package com.android.ide.eclipse.adt.internal.launch.junit.runtime;
     17 
     18 import com.android.ddmlib.IDevice;
     19 import com.android.ddmlib.testrunner.IRemoteAndroidTestRunner.TestSize;
     20 
     21 import org.eclipse.core.resources.IProject;
     22 import org.eclipse.debug.core.ILaunch;
     23 
     24 import java.util.Collection;
     25 import java.util.Collections;
     26 
     27 /**
     28  * Contains info about Android JUnit launch
     29  */
     30 public class AndroidJUnitLaunchInfo {
     31     private final IProject mProject;
     32     private final String mAppPackage;
     33     private final String mRunner;
     34 
     35     private boolean mDebugMode = false;
     36     private Collection<IDevice> mDevices = Collections.EMPTY_LIST;
     37     private String mTestPackage = null;
     38     private String mTestClass = null;
     39     private String mTestMethod = null;
     40     private ILaunch mLaunch = null;
     41     private TestSize mTestSize = null;
     42 
     43     public AndroidJUnitLaunchInfo(IProject project, String appPackage, String runner) {
     44         mProject = project;
     45         mAppPackage = appPackage;
     46         mRunner = runner;
     47     }
     48 
     49     public IProject getProject() {
     50         return mProject;
     51     }
     52 
     53     public String getAppPackage() {
     54         return mAppPackage;
     55     }
     56 
     57     public String getRunner() {
     58         return mRunner;
     59     }
     60 
     61     public boolean isDebugMode() {
     62         return mDebugMode;
     63     }
     64 
     65     public void setDebugMode(boolean debugMode) {
     66         mDebugMode = debugMode;
     67     }
     68 
     69     public TestSize getTestSize() {
     70         return mTestSize;
     71     }
     72 
     73     public void setTestSize(TestSize size) {
     74         mTestSize = size;
     75     }
     76 
     77     public Collection<IDevice> getDevices() {
     78         return mDevices;
     79     }
     80 
     81     public void setDevices(Collection<IDevice> devices) {
     82         mDevices = devices;
     83     }
     84 
     85     /**
     86      * Specify to run all tests within given package.
     87      *
     88      * @param testPackage fully qualified java package
     89      */
     90     public void setTestPackage(String testPackage) {
     91         mTestPackage = testPackage;
     92     }
     93 
     94     /**
     95      * Return the package of tests to run.
     96      *
     97      * @return fully qualified java package. <code>null</code> if not specified.
     98      */
     99     public String getTestPackage() {
    100         return mTestPackage;
    101     }
    102 
    103     /**
    104      * Sets the test class to run.
    105      *
    106      * @param testClass fully qualfied test class to run
    107      *    Expected format: x.y.x.testclass
    108      */
    109     public void setTestClass(String testClass) {
    110         mTestClass = testClass;
    111     }
    112 
    113     /**
    114      * Returns the test class to run.
    115      *
    116      * @return fully qualfied test class to run.
    117      *   <code>null</code> if not specified.
    118      */
    119     public String getTestClass() {
    120         return mTestClass;
    121     }
    122 
    123     /**
    124      * Sets the test method to run. testClass must also be set.
    125      *
    126      * @param testMethod test method to run
    127      */
    128     public void setTestMethod(String testMethod) {
    129         mTestMethod = testMethod;
    130     }
    131 
    132     /**
    133      * Returns the test method to run.
    134      *
    135      * @return test method to run. <code>null</code> if not specified.
    136      */
    137     public String getTestMethod() {
    138         return mTestMethod;
    139     }
    140 
    141     public ILaunch getLaunch() {
    142         return mLaunch;
    143     }
    144 
    145     public void setLaunch(ILaunch launch) {
    146         mLaunch = launch;
    147     }
    148 }
    149