Doc Change: Files for the Spinner and SpinnerTest sample applications, part of Activity Testing tutorial

Change-Id: If9b6f214cdad870257efc34193eed846cde2ec47
diff --git a/samples/Spinner/_index.html b/samples/Spinner/_index.html
index 2e50d9d..babe099 100644
--- a/samples/Spinner/_index.html
+++ b/samples/Spinner/_index.html
@@ -1,22 +1,21 @@
 <p>
-This sample is the application under test for the
-<a href="../../../resources/tutorials/testing/activity_test.html">Activity
-  Testing Tutorial</a>. It contains a single Activity that displays a
-Spinner widget backed by an array of strings containing the names of the planets
-in the Solar System. When an entry is selected from the Spinner, the entry is
-displayed in a text box.
+This sample is a simple application that serves as an application under test
+for the <a href="../SpinnerTest/index.html">SpinnerTest</a> test application example.
 </p>
 <p>
-An important part of this application is state management. When the application
-is first run, the spinner widget displays a default selection of
-&quot;Earth&quot;. Thereafter, the application saves a selection as soon as it
+This application illustrates basic state management across the Android application life cycle,
+mainly for the purpose of highlighting common patterns of Activity testing. When the application
+is first run, the spinner widget displays a default selection of &quot;Earth&quot;.
+Thereafter, the application saves a selection as soon as it
 is made. The application remembers the selection from invocation to invocation, even
 if the device reboots.
 </p>
 <p>
-For more information about this application, see the Activity Testing Tutorial.
-The test application for this application is in the <a
-  href="../SpinnerTest/index.html">SpinnerTest</a> sample application.
+The test application <a href="../SpinnerTest/index.html">SpinnerTest</a>
+shows you how to set up tests to monitor and prevent code regressions in the
+management of state across invocations and power cycles.
 </p>
-
-<img alt="The Spinner application" src="../images/testing/spinner_main_screen.png" />
+<p>
+For more information about this application, see the
+<a href="../../../resources/tutorials/testing/activity_test.html">Activity Testing</a> tutorial.
+</p>
diff --git a/samples/SpinnerTest/AndroidManifest.xml b/samples/SpinnerTest/AndroidManifest.xml
index e151d6e..99830f8 100644
--- a/samples/SpinnerTest/AndroidManifest.xml
+++ b/samples/SpinnerTest/AndroidManifest.xml
@@ -26,6 +26,7 @@
           package="com.android.example.spinner.test"
           android:versionCode="1"
           android:versionName="1.0">
+    <uses-sdk android:minSdkVersion="3" />
     <application  android:label="@string/app_name">
         <!--
             this package needs to link against the android.test library,
diff --git a/samples/SpinnerTest/_index.html b/samples/SpinnerTest/_index.html
index 7a176fd..64e319a 100644
--- a/samples/SpinnerTest/_index.html
+++ b/samples/SpinnerTest/_index.html
@@ -1,9 +1,52 @@
 <p>
-This sample is the test application for the 
-<a href="../../../resources/tutorials/testing/activity_test.html">Activity
-  Testing Tutorial</a>. Refer to the tutorial text for a full explanation
-of this sample code.
+    This sample is the test application for the
+    <a href="../../../resources/tutorials/testing/activity_test.html">Activity
+    Testing</a> tutorial. It tests the <a href="../Spinner/index.html">Spinner</a> example
+    application.
 </p>
 <p>
-  This application does not have an Android GUI.
+    The test application uses the
+<a href="../../../reference/android/test/ActivityInstrumentationTestCase2.html"><code>ActivityInstrumentationTestCase2</code></a>
+    test case class,
+    which extends both <a href="../../../reference/android/app/Instrumentation">Android instrumentation</a> and the JUnit
+<a href="../../../reference/junit/framework/TestCase.html"><code>TestCase</code></a>
+    class. The test runner is <a href="../../../reference/android/test/InstrumentationTestRunner.html"><code>InstrumentationTestRunner</code></a>.
 </p>
+<p>
+    The application shows how to set up a test application project,
+    how to create the <a href="AndroidManifest.html"><code>AndroidManifest.xml</code></a>
+    file for a test application, and how to set up a test case class for a test fixture. The
+    test case class, <a href="src/com/android/example/spinner/test/SpinnerActivityTest.html"><code>SpinnerActivityTest</code></a>,
+    contains tests that demonstrate the following Android test patterns:
+</p>
+    <ul>
+        <li>
+            Test setup: The <code>setUp()</code> method re-initializes the state of the application under test
+            before each test is run.
+        </li>
+        <li>
+            Initial conditions: The <code>testPreconditions()</code> method demonstrates how to
+            test that the application under test is properly initialized prior to running the
+            test fixture.
+        </li>
+        <li>
+            UI interaction: The <code>testSpinnerUI()</code> method demonstrates how to send keystrokes
+            to the activity under test and then test the result.
+        </li>
+        <li>
+            Application control using instrumentation: The <code>testStateDestroy()</code> and <code>testStatePause()</code>
+            methods demonstrate how to use instrumentation to trigger stages in the lifecycle of the activity under test.
+        </li>
+    </ul>
+<p>
+    The <a href="AndroidManifest.html">manifest</a> declares an <code>&lt;instrumentation&gt;</code> element
+    that links the test application with the application under test. Specifically, the
+    element's <code>android:name</code> attribute specifies <code>InstrumentationTestRunner</code> as the
+    instrumentation to use. The <code>android:targetPackage</code> attribute specifies
+    <code>com.android.example.spinner</code> as the name of the Android package that contains the
+    application under test.
+</p>
+<img alt="The initial user interface for the Spinner sample application" style="height:230px;"
+     src="../images/SpinnerTest1.png"/>
+<img alt="The JUnit view in Eclipse with ADT, showing a successful test run of SpinnerTest" style="height:230px;"
+     src="../images/SpinnerTest2.png"/>
diff --git a/samples/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java b/samples/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java
index 4c23317..1cfe32a 100644
--- a/samples/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java
+++ b/samples/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java
@@ -26,15 +26,13 @@
 import android.widget.SpinnerAdapter;
 import android.widget.TextView;
 
-/**
+/*
  * Tests the example application Spinner. Uses the instrumentation test class
- * {@link ActivityInstrumentationTestCase2} as its base class. The tests include
- * <ol>
- *  <li>test initial conditions</li>
- *  <li>test the UI</li>
- *  <li>state management - preserving state after the app is shut down and restarted, preserving
- *    state after the app is hidden (paused) and re-displayed (resumed)</li>
- * </ol>
+ * ActivityInstrumentationTestCase2 as its base class. The tests include
+ *   - test initial conditions
+ *   - test the UI
+ *   - state management - preserving state after the app is shut down and restarted, preserving
+ *     state after the app is hidden (paused) and re-displayed (resumed)
  *
  * Demonstrates the use of JUnit setUp() and assert() methods.
  */
@@ -91,7 +89,7 @@
 
     private SpinnerAdapter mPlanetData;
 
-    /**
+    /*
      * Constructor for the test class. Required by Android test classes. The constructor
      * must call the super constructor, providing the Android package name of the app under test
      * and the Java class name of the activity in that application that handles the MAIN intent.
@@ -101,7 +99,7 @@
         super("com.android.example.spinner", SpinnerActivity.class);
     }
 
-    /**
+    /*
      * Sets up the test environment before each test.
      * @see android.test.ActivityInstrumentationTestCase2#setUp()
      */
@@ -140,7 +138,7 @@
 
     }
 
-    /**
+    /*
      * Tests the initial values of key objects in the app under test, to ensure the initial
      * conditions make sense. If one of these is not initialized correctly, then subsequent
      * tests are suspect and should be ignored.