diff --git xmlrpc_example/xmlrpc_example.info xmlrpc_example/xmlrpc_example.info
index f95e50b..5edc8ea 100644
--- xmlrpc_example/xmlrpc_example.info
+++ xmlrpc_example/xmlrpc_example.info
@@ -5,3 +5,4 @@ package = Example modules
 version = VERSION
 core = 7.x
 files[] = xmlrpc_example.module
+files[] = xmlrpc_example.test
diff --git xmlrpc_example/xmlrpc_example.module xmlrpc_example/xmlrpc_example.module
index 8f74d4e..ed5e0c6 100644
--- xmlrpc_example/xmlrpc_example.module
+++ xmlrpc_example/xmlrpc_example.module
@@ -11,24 +11,27 @@
  */
 
 /**
- * Implementation of hook_xmlrpc().
+ * Implements hook_xmlrpc().
  *
- * This function provides Drupal with an array to map XML-RPC callbacks to the
+ * Provides Drupal with an array to map XML-RPC callbacks to the
  * functions implemented by this module.
  */
 function xmlrpc_example_xmlrpc() {
   return (array(
     'validator1.arrayOfStructsTest' => 'xmlrpc_example_arrayOfStructsTest',
     'validator1.countTheEntities' => 'xmlrpc_example_countTheEntities',
-    'validator1.easyStructTest' => 'xmlrpc_example_easyStructTest',
-    'validator1.echoStructTest' => 'xmlrpc_example_echoStructTest',
-    'validator1.manyTypesTest' => 'xmlrpc_example_manyTypesTest',
-    'validator1.moderateSizeArrayCheck' => 'xmlrpc_example_moderateSizeArrayCheck',
-    'validator1.nestedStructTest' => 'xmlrpc_example_nestedStructTest',
     'validator1.simpleStructReturnTest' => 'xmlrpc_example_simpleStructReturnTest'
   ));
 }
 
+/**
+ * Accepts several array items as entry, and will return the sum
+ * of the 'curly' elements of all the items.
+ *
+ * @param array $array structs array to be computed.
+ * @return integer
+ * The sum of 'curly' elements from all the structs
+ */
 function xmlrpc_example_arrayOfStructsTest($array) {
   $sum = 0;
   foreach ($array as $struct) {
@@ -37,6 +40,13 @@ function xmlrpc_example_arrayOfStructsTest($array) {
   return $sum;
 }
 
+/**
+ * Count the html entities in the string and return each entity count value.
+ *
+ * @param string $string input string to count entities
+ * @return array
+ * an array with entities count
+ */
 function xmlrpc_example_countTheEntities($string) {
   return array(
     'ctLeftAngleBrackets' => substr_count($string, '<'),
@@ -47,27 +57,13 @@ function xmlrpc_example_countTheEntities($string) {
     );
 }
 
-function xmlrpc_example_easyStructTest($array) {
-  return $array["curly"] + $array["moe"] + $array["larry"];
-}
-
-function xmlrpc_example_echoStructTest($array) {
-  return $array;
-}
-
-function xmlrpc_example_manyTypesTest($args) {
-  $timestamp = mktime($args[4]->hour, $args[4]->minute, $args[4]->second, $args[4]->month, $args[4]->day, $args[4]->year);
-  return array($args[0], $args[1], $args[2], $args[3], xmlrpc_date($timestamp), xmlrpc_base64($args[5]));
-}
-
-function xmlrpc_example_moderateSizeArrayCheck($array) {
-  return array_shift($array) . array_pop($array);
-}
-
-function xmlrpc_example_nestedStructTest($array) {
-  return $array["2000"]["04"]["01"]["larry"] + $array["2000"]["04"]["01"]["moe"] + $array["2000"]["04"]["01"]["curly"];
-}
-
+/**
+ * Given an integer value, return this value multiplied with several factors.
+ *
+ * @param integer $number
+ * @return array
+ * Array of operations $number*10, $number*100 and $number*1000
+ */
 function xmlrpc_example_simpleStructReturnTest($number) {
   return array("times10" => ($number*10), "times100" => ($number*100), "times1000" => ($number*1000));
 }
diff --git xmlrpc_example/xmlrpc_example.test xmlrpc_example/xmlrpc_example.test
new file mode 100644
index 0000000..af28b02
--- /dev/null
+++ xmlrpc_example/xmlrpc_example.test
@@ -0,0 +1,94 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Test case for the xmlrpc example module.
+ *
+ * This file contains the test cases to check if module is performing as
+ * expected.
+ *
+ */
+class XmlrpcExampleTestCase extends DrupalWebTestCase {
+  protected $xmlrpc_url;
+
+  public static function getInfo() {
+    return array(
+      'name' => 'XMLRPC example functionality',
+      'description' => 'Test xmlrpc service implementation.',
+      'group' => 'Examples',
+    );
+  }
+
+  /**
+   * Enable module.
+   */
+  function setUp() {
+    parent::setUp('xmlrpc_example');
+
+    // Init common variables.
+    global $base_url;
+    $this->xmlrpc_url = url($base_url . '/xmlrpc.php', array('external' => TRUE));
+  }
+
+  /**
+   * Perform several calls the xmlrpc inteface to test the services.
+   */
+  function testXmlrpcExampleBasic() {
+
+    // Thest the validator1.arrayOfStructsTest method
+    $structs  = array(
+      'struct1' => array(
+        'random' => $this->randomName(),
+        'curly'  => $this->randomNumber(),
+      ),
+      'struct2' => array(
+        'random' => $this->randomName(),
+        'curly'  => $this->randomNumber(),
+      ),
+      'struct3' => array(
+        'random' => $this->randomName(),
+        'curly'  => $this->randomNumber(),
+      ),
+    );
+    $result = xmlrpc($this->xmlrpc_url, 'validator1.arrayOfStructsTest', $structs);
+    $sum = $structs['struct1']['curly'] + $structs['struct2']['curly'] + $structs['struct3']['curly'];
+    $this->assertEqual($result, $sum, t('validator1.arrayOfStructsTest successfully verified.'));
+
+    // Validate the validator1.countTheEntities method
+    $string = "<html><body><h1>My 'First' Heading</h1><p>My \"first\" paragraph.</p>&</body></html>";
+    $result = xmlrpc($this->xmlrpc_url, 'validator1.countTheEntities', $string);
+    $this->assertTrue((count($result) == 5), t('Return value from service call successfully verified.'));
+    $leftbrackets = $this->assertEqual($result['ctLeftAngleBrackets'], 8, t('ctLeftAngleBrackets successfully validated.'));
+    $rightbrackets = $this->assertEqual($result['ctRightAngleBrackets'], 8, t('ctRightAngleBrackets successfully validated.'));
+    $ampersands = $this->assertEqual($result['ctAmpersands'], 1, t('ctAmpersands successfully validated.'));
+    $apostrophes = $this->assertEqual($result['ctApostrophes'], 2, t('ctApostrophes successfully validated.'));
+    $quotes = $this->assertEqual($result['ctQuotes'], 2, t('ctQuotes successfully validated.'));
+    $this->assertTrue ($leftbrackets && $rightbrackets && $ampersands && $apostrophes && $quotes, t('validator1.countTheEntities successfully verified.'));
+
+    // Validate the simpleStructReturnTest method.
+    $number = $this->randomNumber();
+    $result = xmlrpc($this->xmlrpc_url, 'validator1.simpleStructReturnTest', $number);
+    $this->assertTrue((count($result) == 3), t('Return value from service call successfully verified.'));
+    $times10 = $this->assertEqual($result['times10'], 10*$number, t('times10 successfully validated.'));
+    $times100 = $this->assertEqual($result['times100'], 100*$number, t('times100 successfully validated.'));
+    $times1000 = $this->assertEqual($result['times1000'], 1000*$number, t('times1000 successfully validated.'));
+    $this->assertTrue ($times10 && $times100 && $times1000, t('validator1.simpleStructReturnTest successfully verified.'));
+  }
+
+  /**
+   * Generates a random number
+   *
+   * @param $length
+   *   Length of random string to generate.
+   * @return
+   *   Randomly generated number.
+   */
+  function randomNumber($length = 3) {
+  $str = '';
+  for ($i = 0; $i < $length; $i++) {
+    $str .= chr(mt_rand(48, 57));
+  }
+  return $str;
+  }
+}
