Alpha Framework alpha--tests
[ class tree: alpha--tests ] [ index: alpha--tests ] [ all elements ]

Source for file Text_Test.php

Documentation is available at Text_Test.php

  1. <?php
  2.  
  3. /**
  4.  *
  5.  * Test case for the Text data type
  6.  * 
  7.  * @package alpha::tests
  8.  * @since 1.0
  9.  * @author John Collins <dev@alphaframework.org>
  10.  * @version $Id: Text_Test.php 1341 2011-03-17 15:02:02Z johnc $
  11.  * @license http://www.opensource.org/licenses/bsd-license.php The BSD License
  12.  * @copyright Copyright (c) 2011, John Collins (founder of Alpha Framework).
  13.  *  All rights reserved.
  14.  * 
  15.  *  <pre>
  16.  *  Redistribution and use in source and binary forms, with or
  17.  *  without modification, are permitted provided that the
  18.  *  following conditions are met:
  19.  * 
  20.  *  * Redistributions of source code must retain the above
  21.  *    copyright notice, this list of conditions and the
  22.  *    following disclaimer.
  23.  *  * Redistributions in binary form must reproduce the above
  24.  *    copyright notice, this list of conditions and the
  25.  *    following disclaimer in the documentation and/or other
  26.  *    materials provided with the distribution.
  27.  *  * Neither the name of the Alpha Framework nor the names
  28.  *    of its contributors may be used to endorse or promote
  29.  *    products derived from this software without specific
  30.  *    prior written permission.
  31.  *   
  32.  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  33.  *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  34.  *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  35.  *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  36.  *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  37.  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  38.  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  39.  *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  40.  *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  41.  *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  42.  *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  43.  *  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  44.  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  45.  *  </pre>
  46.  *  
  47.  */
  48. class Text_Test extends PHPUnit_Framework_TestCase {
  49.     /**
  50.      * A Text for testing
  51.      * 
  52.      * @var Text 
  53.      * @since 1.0
  54.      */
  55.     private $txt;    
  56.     
  57.     /**
  58.      * Called before the test functions will be executed
  59.      * this function is defined in PHPUnit_TestCase and overwritten
  60.      * here
  61.      * 
  62.      * @since 1.0
  63.      */
  64.     protected function setUp({        
  65.         $this->txt new Text();        
  66.     }
  67.     
  68.     /** 
  69.      * Called after the test functions are executed
  70.      * this function is defined in PHPUnit_TestCase and overwritten
  71.      * here
  72.      * 
  73.      * @since 1.0
  74.      */    
  75.     protected function tearDown({        
  76.         unset($this->txt);        
  77.     }
  78.     
  79.     /**
  80.      * Testing the text constructor for acceptance of correct data
  81.      * 
  82.      * @since 1.0
  83.      */
  84.     public function testConstructorPass({
  85.         $this->txt new Text('A Text Value!');
  86.         
  87.         $this->assertEquals('A Text Value!'$this->txt->getValue()"testing the Text constructor for pass");
  88.     }
  89.     
  90.     /**
  91.      * Testing the text setValue method with bad data when the default validation rule is overridden
  92.      * 
  93.      * @since 1.0
  94.      */
  95.     public function testSetValueFail({
  96.         $this->txt->setRule(AlphaValidator::REQUIRED_TEXT);
  97.         
  98.         try {
  99.             $this->txt->setValue('');
  100.             $this->fail('testing the text setValue method with bad data when the default validation rule is overridden');
  101.         }catch (IllegalArguementException $e{
  102.             $this->assertTrue(true'testing the text setValue method with bad data when the default validation rule is overridden');
  103.         }
  104.     }
  105.     
  106.     /**
  107.      * Testing the text setValue method with good data when the default validation rule is overridden
  108.      * 
  109.      * @since 1.0
  110.      */
  111.     public function testSetValuePass({
  112.         $this->txt->setRule(AlphaValidator::REQUIRED_TEXT);
  113.         
  114.         try {
  115.             $this->txt->setValue('Some text');
  116.             
  117.             $this->assertEquals('Some text'$this->txt->getValue()'testing the text setValue method with good data when the default validation rule is overridden');
  118.         }catch (IllegalArguementException $e{
  119.             $this->fail('testing the text setValue method with good data when the default validation rule is overridden');
  120.         }
  121.     }
  122.         
  123.     /**
  124.      * Testing the setSize method to see if validation fails
  125.      * 
  126.      * @since 1.0
  127.      */
  128.     public function testSetSizeInvalid({
  129.         $this->txt new Text();
  130.         $this->txt->setSize(4);
  131.         
  132.         try {
  133.             $this->txt->setValue('Too many characters!');
  134.             $this->fail('testing the setSize method to see if validation fails');
  135.         }catch (AlphaException $e{
  136.             $this->assertEquals('Not a valid text value!'
  137.                 $e->getMessage()
  138.                 'testing the setSize method to see if validation fails');
  139.         }
  140.     }    
  141.         
  142.     /**
  143.      * Testing the __toString method
  144.      * 
  145.      * @since 1.0
  146.      */
  147.     public function testToString({
  148.         $this->txt new Text('__toString result');        
  149.         
  150.         $this->assertEquals('The value of __toString result''The value of '.$this->txt'testing the __toString method');
  151.     }    
  152. }
  153.  
  154. ?>

Documentation generated on Thu, 17 Mar 2011 16:45:00 +0000 by phpDocumentor 1.4.3