118b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu/* 218b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * Copyright (C) 2012 The Android Open Source Project 318b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * 418b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * Licensed under the Apache License, Version 2.0 (the "License"); 518b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * you may not use this file except in compliance with the License. 618b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * You may obtain a copy of the License at 718b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * 818b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * http://www.apache.org/licenses/LICENSE-2.0 918b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * 1018b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * Unless required by applicable law or agreed to in writing, software 1118b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * distributed under the License is distributed on an "AS IS" BASIS, 1218b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1318b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * See the License for the specific language governing permissions and 1418b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * limitations under the License. 1518b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu */ 1618b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu 1718b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhupackage com.android.uiautomator.testrunner; 1818b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu 1918b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhuimport com.android.uiautomator.testrunner.TestCaseCollector.TestCaseFilter; 2018b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu 2118b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhuimport java.lang.reflect.Method; 2218b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu 2318b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu/** 2418b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * A {@link TestCaseFilter} that accepts testFoo methods and {@link UiAutomatorTestCase} classes 2518b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * 2618b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu * @hide 2718b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu */ 2818b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhupublic class UiAutomatorTestCaseFilter implements TestCaseFilter { 2918b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu 3018b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu @Override 3118b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu public boolean accept(Method method) { 3218b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu return ((method.getParameterTypes().length == 0) && 3318b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu (method.getName().startsWith("test")) && 3418b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu (method.getReturnType().getSimpleName().equals("void"))); 3518b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu } 3618b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu 3718b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu @Override 3818b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu public boolean accept(Class<?> clazz) { 3918b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu return UiAutomatorTestCase.class.isAssignableFrom(clazz); 4018b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu } 4118b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu 4218b892c723e812a7e111f102d2b0c0782b116bb6Guang Zhu} 43