package com.android_textbook.learnjunit;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.test.ActivityInstrumentationTestCase2;
import android.view.View;
import android.widget.TextView;
import com.android_textbook.learnjunit.R;
import com.android_textbook.learnjunit.RotatableActivity;
public class RotatableActivityTest extends ActivityInstrumentationTestCase2<RotatableActivity> {
public RotatableActivityTest() {
super(RotatableActivity.class);
}
public void testRotate() throws Exception {
final RotatableActivity activity = getActivity();
TextView bottomView = (TextView)activity.findViewById(R.id.bottomView);
// 初期状態をポートレートにする
if (activity.getResources().getConfiguration().orientation != Configuration.ORIENTATION_PORTRAIT) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
// ポートレートになっていることを確認する
assertEquals(Configuration.ORIENTATION_PORTRAIT,
activity.getResources().getConfiguration().orientation);
// ビューが表示されていることを確認する
assertEquals(View.VISIBLE, bottomView.getVisibility());
// ランドスケープに変更する
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// ランドスケープになっていることを確認する
assertEquals(Configuration.ORIENTATION_LANDSCAPE, activity.getResources()
.getConfiguration().orientation);
// ビューが表示されていないことを確認する
assertEquals(View.GONE, bottomView.getVisibility());
}
}