blob: b3da974640d1394b950094dae3ed8af10c28732a [file] [log] [blame]
/*
* Copyright (C) 2014 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 com.example.android.documentcentricapps.tests;
import com.example.android.documentcentricapps.DocumentCentricActivity;
import com.example.android.documentcentricapps.R;
import android.content.Intent;
import android.test.ActivityUnitTestCase;
import android.test.suitebuilder.annotation.MediumTest;
import android.widget.Button;
import android.widget.CheckBox;
/**
* Unit tests for DocumentCentricApps sample.
*/
@MediumTest
public class DocumentCentricAppsUnitTest extends ActivityUnitTestCase<DocumentCentricActivity> {
private DocumentCentricActivity mDocumentCentricActivity;
public DocumentCentricAppsUnitTest() {
super(DocumentCentricActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
final Intent launchIntent = new Intent(getInstrumentation()
.getTargetContext(), DocumentCentricActivity.class);
mDocumentCentricActivity = startActivity(launchIntent, null, null);
}
public void testNewDocumentButton_IntentIsSentOnClick() {
// Given a initialized Activity
assertNotNull("mDocumentCentricActivity is null", mDocumentCentricActivity);
final Button createNewDocumentButton = (Button) mDocumentCentricActivity
.findViewById(R.id.new_document_button);
assertNotNull(createNewDocumentButton);
// When "Create new Document" Button is clicked
createNewDocumentButton.performClick();
// Then NewDocumentActivity is started with the correct flags
final Intent newDocumentIntent = getStartedActivityIntent();
assertNotNull("newDocumentIntent is null", newDocumentIntent);
assertEquals("intent is missing flag FLAG_ACTIVITY_NEW_DOCUMENT", Intent.FLAG_ACTIVITY_NEW_DOCUMENT,
newDocumentIntent.getFlags() & Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
}
public void testNewDocumentButton_FlagMultipleSetWhenCheckboxIsChecked() {
// Given a initialized Activity and ticked "Create new task" checkbox
assertNotNull("mDocumentCentricActivity is null", mDocumentCentricActivity);
final Button createNewDocumentButton = (Button) mDocumentCentricActivity
.findViewById(R.id.new_document_button);
assertNotNull(createNewDocumentButton);
final CheckBox newTaskCheckbox = (CheckBox) mDocumentCentricActivity
.findViewById(R.id.multiple_task_checkbox);
assertNotNull(newTaskCheckbox);
newTaskCheckbox.setChecked(true);
// When "Create new Document" Button is clicked
createNewDocumentButton.performClick();
// Then NewDocumentActivity is started with the new document and multiple task flags
final Intent newDocumentIntent = getStartedActivityIntent();
assertNotNull("newDocumentIntent is null", newDocumentIntent);
assertEquals("intent is missing flag FLAG_ACTIVITY_NEW_DOCUMENT", Intent.FLAG_ACTIVITY_NEW_DOCUMENT,
newDocumentIntent.getFlags() & Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
assertEquals("intent is missing flag FLAG_ACTIVITY_MULTIPLE_TASK", Intent.FLAG_ACTIVITY_MULTIPLE_TASK,
newDocumentIntent.getFlags() & Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
}
}