1e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu/* 2e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * Copyright (C) 2012 The Android Open Source Project 3e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * 4e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * Licensed under the Apache License, Version 2.0 (the "License"); 5e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * you may not use this file except in compliance with the License. 6e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * You may obtain a copy of the License at 7e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * 8e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * http://www.apache.org/licenses/LICENSE-2.0 9e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * 10e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * Unless required by applicable law or agreed to in writing, software 11e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * distributed under the License is distributed on an "AS IS" BASIS, 12e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * See the License for the specific language governing permissions and 14e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * limitations under the License. 15e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu */ 16e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu 17e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhupackage com.android.uiautomator.testrunner; 18e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu 19e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhuimport com.android.uiautomator.testrunner.TestCaseCollector.TestCaseFilter; 20e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu 21e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhuimport java.lang.reflect.Method; 22e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu 23e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu/** 24e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * A {@link TestCaseFilter} that accepts testFoo methods and {@link UiAutomatorTestCase} classes 25e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu * 26ddc1008f06fd2a875037026490ce1f848a442572Guang Zhu * @hide 27e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu */ 28e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhupublic class UiAutomatorTestCaseFilter implements TestCaseFilter { 29e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu 30e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu @Override 31e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu public boolean accept(Method method) { 32e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu return ((method.getParameterTypes().length == 0) && 33e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu (method.getName().startsWith("test")) && 34e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu (method.getReturnType().getSimpleName().equals("void"))); 35e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu } 36e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu 37e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu @Override 38e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu public boolean accept(Class<?> clazz) { 39e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu return UiAutomatorTestCase.class.isAssignableFrom(clazz); 40e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu } 41e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu 42e54d649fb83a0a44516e5c25a9ac1992c8950e59Guang Zhu} 43