package com.khmelenko.lab.varis;
import android.content.Context;
import android.content.res.AssetManager;
import android.content.res.Resources;
import com.khmelenko.lab.varis.util.AssetsUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config;
import java.io.IOException;
import java.io.InputStream;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
/**
* Testing AssetsUtils class
*
* @author Dmytro Khmelenko (d.khmelenko@gmail.com)
*/
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
public class TestAssetsUtils {
@Test
public void testGetProperties() throws IOException {
final String property = "test";
Context context = mock(Context.class);
Resources resources = mock(Resources.class);
AssetManager assetManager = mock(AssetManager.class);
InputStream is = mock(InputStream.class);
when(context.getResources()).thenReturn(resources);
when(resources.getAssets()).thenReturn(assetManager);
when(assetManager.open(property)).thenReturn(is);
AssetsUtils.getProperties(property, context);
verify(context).getResources();
verify(resources).getAssets();
verify(assetManager).open(property);
}
}