diff --git a/simpletest_example/simpletest_example.test b/simpletest_example/simpletest_example.test
index fc27535..9aa446f 100644
--- a/simpletest_example/simpletest_example.test
+++ b/simpletest_example/simpletest_example.test
@@ -180,3 +180,76 @@ class SimpleTestUnitTestExampleTestCase extends DrupalUnitTestCase {
     $this->assertFalse($result, $message);
   }
 }
+
+/**
+ * SimpleTestExampleMockModuleTestCase allows us to demonstrate how you can
+ * use a mock module to aid in functional testing in Drupal.
+ *
+ * If you have some functionality that's not intrinsic to the code under test,
+ * you can add a special mock module that only gets installed during test
+ * time. This allows you to implement APIs created by your module, or otherwise
+ * exercise the code in question.
+ *
+ * This test case class is very similar to SimpleTestExampleTestCase. The main
+ * difference is that we enable the simpletest_example_test module in the
+ * setUp() method. Then we can test for behaviors provided by that module.
+ *
+ * @see SimpleTestExampleTestCase
+ *
+ * @ingroup simpletest_example
+ */
+class SimpleTestExampleMockModuleTestCase extends DrupalWebTestCase {
+
+  /**
+   * Give display information to the SimpleTest system.
+   *
+   * getInfo() returns a keyed array of information for SimpleTest to show.
+   *
+   * It's a good idea to organize your tests consistently using the 'group'
+   * key.
+   */
+  public static function getInfo() {
+    return array(
+      'name' => 'SimpleTest Mock Module Example',
+      'description' => "Ensure that we can modify SimpleTest Example's content types.",
+      'group' => 'Examples',
+    );
+  }
+
+  /**
+   * Set up the test environment.
+   *
+   * Note that we're enabling both the simpletest_example and
+   * simpletest_example_test modules.
+   */
+  public function setUp() {
+    // We call parent::setUp() with the list of modules we want to enable.
+    parent::setUp('simpletest_example', 'simpletest_example_test');
+  }
+
+  /**
+   * Test modifications made by our mock module.
+   *
+   * We create a simpletest_example node and then see if our submodule
+   * operated on it.
+   */
+  public function testSimpleTestExampleMockModule() {
+    // Create a user.
+    $testUser = $this->drupalCreateUser(array('access content'));
+    // Log them in.
+    $this->drupalLogin($testUser);
+    // Set up some content.
+    $settings = array(
+      'type' => 'simpletest_example',
+      'title' => $this->randomName(32),
+      'body' => array(LANGUAGE_NONE => array(array($this->randomName(64)))),
+    );
+    // Create the content node.
+    $node = $this->drupalCreateNode($settings);
+    // View the node.
+    $this->drupalGet("node/{$node->nid}");
+    // Check that our module did it's thing.
+    $this->assertText(t('The test module did its thing.'), "Found evidence of test module.");
+  }
+
+}
diff --git a/simpletest_example/tests/simpletest_example_test.info b/simpletest_example/tests/simpletest_example_test.info
new file mode 100644
index 0000000..917e616
--- /dev/null
+++ b/simpletest_example/tests/simpletest_example_test.info
@@ -0,0 +1,6 @@
+name = "SimpleTest Example Mock Module"
+description = "Mock module for the SimpleTest Example module."
+package = Example modules
+core = 7.x
+hidden = TRUE
+dependencies[] = simpletest_example
diff --git a/simpletest_example/tests/simpletest_example_test.module b/simpletest_example/tests/simpletest_example_test.module
new file mode 100644
index 0000000..dbaa986
--- /dev/null
+++ b/simpletest_example/tests/simpletest_example_test.module
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * @file
+ * Implements simpletest_example_test module.
+ */
+
+/**
+ * The mock module for SimpleTest Example.
+ *
+ * This module exists so that we can enable it and use it to
+ * test elements of simpletest_module.
+ *
+ * @ingroup simpletest_example
+ */
+
+/**
+ * Implements hook_node_view().
+ *
+ * We'll just add some content to nodes of the type we like.
+ *
+ * @ingroup simpletest_example
+ */
+function simpletest_example_test_node_view($node, $view_mode, $langcode) {
+  if ($node->type == 'simpletest_example') {
+    $node->content['simpletest_example_test_section'] = array(
+      '#markup' => t('The test module did its thing.'),
+      '#weight' => -99,
+    );
+  }
+}
