1e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan/* 2e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * Copyright (C) 2015 The Android Open Source Project 3e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * 4e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * Licensed under the Apache License, Version 2.0 (the "License"); 5e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * you may not use this file except in compliance with the License. 6e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * You may obtain a copy of the License at 7e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * 8e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * http://www.apache.org/licenses/LICENSE-2.0 9e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * 10e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * Unless required by applicable law or agreed to in writing, software 11e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * distributed under the License is distributed on an "AS IS" BASIS, 12e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * See the License for the specific language governing permissions and 14e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * limitations under the License. 15e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan */ 16e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan 17e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajanpackage com.android.internal.telephony; 18e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan 19e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan/** 20e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * An object that provides supporting methods, fields, and other functionality for configuring 21e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * and inspecting the results of operations on a test double (mock, fake or stub). The test double 22e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * is an object of type {@code T}. 23e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan */ 24e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajanpublic interface TestFixture<T> { 25e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan 26e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan /** 27e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * Obtain the actual test double provided by this holder. It is a requirement of this API 28e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * that the test double as returned from this method be a Mockito mock or spy, so that a test 29e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * can use Mockito APIs to directly instrument its behavior where needed. 30e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * 31e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan * @return the test double. 32e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan */ 33e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan T getTestDouble(); 34e5468b6b0242c072d0b7eea7e6c75a536cb650dfAmit Mahajan} 35