function test_validate_clickerid()
 {
     $clicker_id = null;
     try {
         iclicker_service::validate_clicker_id($clicker_id);
         $this->fail("should have died");
     } catch (ClickerIdInvalidException $e) {
         $this->assertEqual(ClickerIdInvalidException::F_EMPTY, $e->type);
     }
     $clicker_id = "XXX";
     try {
         iclicker_service::validate_clicker_id($clicker_id);
         $this->fail("should have died");
     } catch (ClickerIdInvalidException $e) {
         $this->assertEqual(ClickerIdInvalidException::F_CHARS, $e->type);
     }
     $clicker_id = "00000000000";
     try {
         iclicker_service::validate_clicker_id($clicker_id);
         $this->fail("should have died");
     } catch (ClickerIdInvalidException $e) {
         $this->assertEqual(ClickerIdInvalidException::F_LENGTH, $e->type);
     }
     $clicker_id = iclicker_service::CLICKERID_SAMPLE;
     try {
         iclicker_service::validate_clicker_id($clicker_id);
         $this->fail("should have died");
     } catch (ClickerIdInvalidException $e) {
         $this->assertEqual(ClickerIdInvalidException::F_SAMPLE, $e->type);
     }
     $clicker_id = "ABCD0123";
     try {
         iclicker_service::validate_clicker_id($clicker_id);
         $this->fail("should have died");
     } catch (ClickerIdInvalidException $e) {
         $this->assertEqual(ClickerIdInvalidException::F_CHECKSUM, $e->type);
     }
     $clicker_id = "112233";
     $result = iclicker_service::validate_clicker_id($clicker_id);
     $this->assertEqual($result, "00112233");
     $clicker_id = "11111111";
     $result = iclicker_service::validate_clicker_id($clicker_id);
     $this->assertEqual($result, $clicker_id);
 }