/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package android.testing;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.withSettings;
import android.content.Context;
import android.content.res.Resources;
import android.util.Log;
import android.util.SparseArray;
import org.mockito.invocation.InvocationOnMock;
/**
* Provides a version of Resources that defaults to all existing resources, but can have ids
* changed to return specific values.
*
* TestableResources are lazily initialized, be sure to call
* {@link TestableContext#ensureTestableResources} before your tested code has an opportunity
* to cache {@link Context#getResources}.
*
*/
public class TestableResources {
private static final String TAG = "TestableResources";
private final Resources mResources;
private final SparseArray