[Solar-svn] Revision 2801

pmjones at solarphp.com pmjones at solarphp.com
Fri Sep 28 21:40:28 CDT 2007


branch: added new test stubs



Added: branches/orm/tests/Test/Solar/Cli/MakeModel.php
===================================================================
--- branches/orm/tests/Test/Solar/Cli/MakeModel.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Cli/MakeModel.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,126 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Cli_MakeModel extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Cli_MakeModel = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Cli_MakeModel');
+        $this->assertInstance($obj, 'Solar_Cli_MakeModel');
+    }
+    
+    /**
+     * 
+     * Test -- Public interface to execute the command.
+     * 
+     */
+    public function testExec()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the help text for this command.
+     * 
+     */
+    public function testGetInfoHelp()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns an array of option flags and descriptions for this command.
+     * 
+     */
+    public function testGetInfoOptions()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the console-controller object (if any) that invoked this command.
+     * 
+     */
+    public function testSetConsoleController()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Areas/Collection.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Areas/Collection.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Areas/Collection.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,326 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Areas_Collection extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Areas_Collection = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Areas_Collection');
+        $this->assertInstance($obj, 'Solar_Example_Model_Areas_Collection');
+    }
+    
+    /**
+     * 
+     * Test -- Gets a data value.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Does a certain key exist in the data?
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key value.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_postSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: returns the current record from the collection.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads *related* data for the collection.
+     * 
+     */
+    public function testLoadRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves all the records from this collection to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Areas/Record.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Areas/Record.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Areas/Record.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,386 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Areas_Record extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Areas_Record = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Areas_Record');
+        $this->assertInstance($obj, 'Solar_Example_Model_Areas_Record');
+    }
+    
+    /**
+     * 
+     * Test -- Magic getter for record properties; automatically calls __getColName() methods when they exist.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Checks if a data key is set.
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Magic setter for record properties; automatically calls __setColName() methods when they exist.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current value for the array pointer.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes this record from the database.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Filter the data.
+     * 
+     */
+    public function testFilter()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testForm()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the validation failure message for one or more properties.
+     * 
+     */
+    public function testGetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the current page number for a named relation.
+     * 
+     */
+    public function testGetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the status of this record.
+     * 
+     */
+    public function testGetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Refreshes data for this record from the database.
+     * 
+     */
+    public function testRefresh()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves this record to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces one property to be "invalid" and sets a validation failure message for it.
+     * 
+     */
+    public function testSetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testSetInvalids()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the page number for a named relation, so that only records from that page are loaded.
+     * 
+     */
+    public function testSetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces the status of this record.
+     * 
+     */
+    public function testSetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Converts the properties of this model Record or Collection to an array, including related models stored in properties.
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Areas.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Areas.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Areas.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,346 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Areas extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Areas = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Areas');
+        $this->assertInstance($obj, 'Solar_Example_Model_Areas');
+    }
+    
+    /**
+     * 
+     * Test -- Magic call implements "fetchOneBy...()" and "fetchAllBy...()" for columns listed in the method name.
+     * 
+     */
+    public function test__call()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Read-only access to protected model properties.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches count and pages of available records.
+     * 
+     */
+    public function testCountPages()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Counts the number of records in a related model for a given record.
+     * 
+     */
+    public function testCountPagesRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes rows from the model table.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a record or collection by primary key value(s).
+     * 
+     */
+    public function testFetch()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches all records by arbitrary parameters.
+     * 
+     */
+    public function testFetchAll()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- The same as fetchAll(), except the record collection is keyed on the first column of the results (instead of being a strictly sequential array.)  Recognized parameters for the fetch are:  `cols` : (string|array) Return only these columns.
+     * 
+     */
+    public function testFetchAssoc()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a sequential array of values from the model, using only the first column of the results.
+     * 
+     */
+    public function testFetchCol()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new record with default values.
+     * 
+     */
+    public function testFetchNew()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches one record by arbitrary parameters.
+     * 
+     */
+    public function testFetchOne()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches an array of key-value pairs from the model, where the first column is the key and the second column is the value.
+     * 
+     */
+    public function testFetchPairs()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testFetchRelatedArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Given a record, fetches a related record or collection for a named relationship.
+     * 
+     */
+    public function testFetchRelatedObject()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a single value from the model (i.e., the first column of the  first record of the returned page set).
+     * 
+     */
+    public function testFetchValue()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Gets the number of records per page.
+     * 
+     */
+    public function testGetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testGetRelatedModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Inserts one row to the model table.
+     * 
+     */
+    public function testInsert()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate collection object for this model.
+     * 
+     */
+    public function testNewCollection()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate record object for an inheritance model.
+     * 
+     */
+    public function testNewRecord()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool, with the proper SQL object injected automatically, and with eager "to-one" associations joined.
+     * 
+     */
+    public function testNewSelect()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool for selecting related records.
+     * 
+     */
+    public function testNewSelectRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Serializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testSerializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the number of records per page.
+     * 
+     */
+    public function testSetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Unerializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testUnserializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Updates rows in the model table.
+     * 
+     */
+    public function testUpdate()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Metas/Collection.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Metas/Collection.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Metas/Collection.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,326 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Metas_Collection extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Metas_Collection = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Metas_Collection');
+        $this->assertInstance($obj, 'Solar_Example_Model_Metas_Collection');
+    }
+    
+    /**
+     * 
+     * Test -- Gets a data value.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Does a certain key exist in the data?
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key value.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_postSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: returns the current record from the collection.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads *related* data for the collection.
+     * 
+     */
+    public function testLoadRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves all the records from this collection to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Metas/Record.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Metas/Record.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Metas/Record.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,386 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Metas_Record extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Metas_Record = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Metas_Record');
+        $this->assertInstance($obj, 'Solar_Example_Model_Metas_Record');
+    }
+    
+    /**
+     * 
+     * Test -- Magic getter for record properties; automatically calls __getColName() methods when they exist.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Checks if a data key is set.
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Magic setter for record properties; automatically calls __setColName() methods when they exist.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current value for the array pointer.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes this record from the database.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Filter the data.
+     * 
+     */
+    public function testFilter()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testForm()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the validation failure message for one or more properties.
+     * 
+     */
+    public function testGetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the current page number for a named relation.
+     * 
+     */
+    public function testGetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the status of this record.
+     * 
+     */
+    public function testGetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Refreshes data for this record from the database.
+     * 
+     */
+    public function testRefresh()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves this record to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces one property to be "invalid" and sets a validation failure message for it.
+     * 
+     */
+    public function testSetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testSetInvalids()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the page number for a named relation, so that only records from that page are loaded.
+     * 
+     */
+    public function testSetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces the status of this record.
+     * 
+     */
+    public function testSetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Converts the properties of this model Record or Collection to an array, including related models stored in properties.
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Metas.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Metas.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Metas.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,346 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Metas extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Metas = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Metas');
+        $this->assertInstance($obj, 'Solar_Example_Model_Metas');
+    }
+    
+    /**
+     * 
+     * Test -- Magic call implements "fetchOneBy...()" and "fetchAllBy...()" for columns listed in the method name.
+     * 
+     */
+    public function test__call()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Read-only access to protected model properties.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches count and pages of available records.
+     * 
+     */
+    public function testCountPages()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Counts the number of records in a related model for a given record.
+     * 
+     */
+    public function testCountPagesRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes rows from the model table.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a record or collection by primary key value(s).
+     * 
+     */
+    public function testFetch()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches all records by arbitrary parameters.
+     * 
+     */
+    public function testFetchAll()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- The same as fetchAll(), except the record collection is keyed on the first column of the results (instead of being a strictly sequential array.)  Recognized parameters for the fetch are:  `cols` : (string|array) Return only these columns.
+     * 
+     */
+    public function testFetchAssoc()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a sequential array of values from the model, using only the first column of the results.
+     * 
+     */
+    public function testFetchCol()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new record with default values.
+     * 
+     */
+    public function testFetchNew()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches one record by arbitrary parameters.
+     * 
+     */
+    public function testFetchOne()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches an array of key-value pairs from the model, where the first column is the key and the second column is the value.
+     * 
+     */
+    public function testFetchPairs()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testFetchRelatedArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Given a record, fetches a related record or collection for a named relationship.
+     * 
+     */
+    public function testFetchRelatedObject()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a single value from the model (i.e., the first column of the  first record of the returned page set).
+     * 
+     */
+    public function testFetchValue()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Gets the number of records per page.
+     * 
+     */
+    public function testGetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testGetRelatedModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Inserts one row to the model table.
+     * 
+     */
+    public function testInsert()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate collection object for this model.
+     * 
+     */
+    public function testNewCollection()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate record object for an inheritance model.
+     * 
+     */
+    public function testNewRecord()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool, with the proper SQL object injected automatically, and with eager "to-one" associations joined.
+     * 
+     */
+    public function testNewSelect()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool for selecting related records.
+     * 
+     */
+    public function testNewSelectRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Serializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testSerializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the number of records per page.
+     * 
+     */
+    public function testSetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Unerializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testUnserializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Updates rows in the model table.
+     * 
+     */
+    public function testUpdate()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Nodes/Collection.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Nodes/Collection.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Nodes/Collection.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,326 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Nodes_Collection extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Nodes_Collection = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Nodes_Collection');
+        $this->assertInstance($obj, 'Solar_Example_Model_Nodes_Collection');
+    }
+    
+    /**
+     * 
+     * Test -- Gets a data value.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Does a certain key exist in the data?
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key value.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_postSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: returns the current record from the collection.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads *related* data for the collection.
+     * 
+     */
+    public function testLoadRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves all the records from this collection to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Nodes/Record.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Nodes/Record.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Nodes/Record.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,386 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Nodes_Record extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Nodes_Record = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Nodes_Record');
+        $this->assertInstance($obj, 'Solar_Example_Model_Nodes_Record');
+    }
+    
+    /**
+     * 
+     * Test -- Magic getter for record properties; automatically calls __getColName() methods when they exist.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Checks if a data key is set.
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Magic setter for record properties; automatically calls __setColName() methods when they exist.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current value for the array pointer.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes this record from the database.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Filter the data.
+     * 
+     */
+    public function testFilter()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testForm()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the validation failure message for one or more properties.
+     * 
+     */
+    public function testGetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the current page number for a named relation.
+     * 
+     */
+    public function testGetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the status of this record.
+     * 
+     */
+    public function testGetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Refreshes data for this record from the database.
+     * 
+     */
+    public function testRefresh()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves this record to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces one property to be "invalid" and sets a validation failure message for it.
+     * 
+     */
+    public function testSetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testSetInvalids()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the page number for a named relation, so that only records from that page are loaded.
+     * 
+     */
+    public function testSetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces the status of this record.
+     * 
+     */
+    public function testSetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Converts the properties of this model Record or Collection to an array, including related models stored in properties.
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Nodes.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Nodes.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Nodes.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,346 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Nodes extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Nodes = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Nodes');
+        $this->assertInstance($obj, 'Solar_Example_Model_Nodes');
+    }
+    
+    /**
+     * 
+     * Test -- Magic call implements "fetchOneBy...()" and "fetchAllBy...()" for columns listed in the method name.
+     * 
+     */
+    public function test__call()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Read-only access to protected model properties.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches count and pages of available records.
+     * 
+     */
+    public function testCountPages()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Counts the number of records in a related model for a given record.
+     * 
+     */
+    public function testCountPagesRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes rows from the model table.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a record or collection by primary key value(s).
+     * 
+     */
+    public function testFetch()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches all records by arbitrary parameters.
+     * 
+     */
+    public function testFetchAll()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- The same as fetchAll(), except the record collection is keyed on the first column of the results (instead of being a strictly sequential array.)  Recognized parameters for the fetch are:  `cols` : (string|array) Return only these columns.
+     * 
+     */
+    public function testFetchAssoc()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a sequential array of values from the model, using only the first column of the results.
+     * 
+     */
+    public function testFetchCol()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new record with default values.
+     * 
+     */
+    public function testFetchNew()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches one record by arbitrary parameters.
+     * 
+     */
+    public function testFetchOne()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches an array of key-value pairs from the model, where the first column is the key and the second column is the value.
+     * 
+     */
+    public function testFetchPairs()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testFetchRelatedArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Given a record, fetches a related record or collection for a named relationship.
+     * 
+     */
+    public function testFetchRelatedObject()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a single value from the model (i.e., the first column of the  first record of the returned page set).
+     * 
+     */
+    public function testFetchValue()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Gets the number of records per page.
+     * 
+     */
+    public function testGetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testGetRelatedModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Inserts one row to the model table.
+     * 
+     */
+    public function testInsert()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate collection object for this model.
+     * 
+     */
+    public function testNewCollection()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate record object for an inheritance model.
+     * 
+     */
+    public function testNewRecord()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool, with the proper SQL object injected automatically, and with eager "to-one" associations joined.
+     * 
+     */
+    public function testNewSelect()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool for selecting related records.
+     * 
+     */
+    public function testNewSelectRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Serializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testSerializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the number of records per page.
+     * 
+     */
+    public function testSetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Unerializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testUnserializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Updates rows in the model table.
+     * 
+     */
+    public function testUpdate()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Taggings/Collection.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Taggings/Collection.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Taggings/Collection.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,326 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Taggings_Collection extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Taggings_Collection = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Taggings_Collection');
+        $this->assertInstance($obj, 'Solar_Example_Model_Taggings_Collection');
+    }
+    
+    /**
+     * 
+     * Test -- Gets a data value.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Does a certain key exist in the data?
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key value.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_postSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: returns the current record from the collection.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads *related* data for the collection.
+     * 
+     */
+    public function testLoadRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves all the records from this collection to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Taggings/Record.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Taggings/Record.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Taggings/Record.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,386 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Taggings_Record extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Taggings_Record = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Taggings_Record');
+        $this->assertInstance($obj, 'Solar_Example_Model_Taggings_Record');
+    }
+    
+    /**
+     * 
+     * Test -- Magic getter for record properties; automatically calls __getColName() methods when they exist.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Checks if a data key is set.
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Magic setter for record properties; automatically calls __setColName() methods when they exist.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current value for the array pointer.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes this record from the database.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Filter the data.
+     * 
+     */
+    public function testFilter()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testForm()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the validation failure message for one or more properties.
+     * 
+     */
+    public function testGetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the current page number for a named relation.
+     * 
+     */
+    public function testGetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the status of this record.
+     * 
+     */
+    public function testGetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Refreshes data for this record from the database.
+     * 
+     */
+    public function testRefresh()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves this record to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces one property to be "invalid" and sets a validation failure message for it.
+     * 
+     */
+    public function testSetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testSetInvalids()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the page number for a named relation, so that only records from that page are loaded.
+     * 
+     */
+    public function testSetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces the status of this record.
+     * 
+     */
+    public function testSetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Converts the properties of this model Record or Collection to an array, including related models stored in properties.
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Taggings.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Taggings.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Taggings.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,346 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Taggings extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Taggings = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Taggings');
+        $this->assertInstance($obj, 'Solar_Example_Model_Taggings');
+    }
+    
+    /**
+     * 
+     * Test -- Magic call implements "fetchOneBy...()" and "fetchAllBy...()" for columns listed in the method name.
+     * 
+     */
+    public function test__call()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Read-only access to protected model properties.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches count and pages of available records.
+     * 
+     */
+    public function testCountPages()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Counts the number of records in a related model for a given record.
+     * 
+     */
+    public function testCountPagesRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes rows from the model table.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a record or collection by primary key value(s).
+     * 
+     */
+    public function testFetch()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches all records by arbitrary parameters.
+     * 
+     */
+    public function testFetchAll()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- The same as fetchAll(), except the record collection is keyed on the first column of the results (instead of being a strictly sequential array.)  Recognized parameters for the fetch are:  `cols` : (string|array) Return only these columns.
+     * 
+     */
+    public function testFetchAssoc()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a sequential array of values from the model, using only the first column of the results.
+     * 
+     */
+    public function testFetchCol()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new record with default values.
+     * 
+     */
+    public function testFetchNew()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches one record by arbitrary parameters.
+     * 
+     */
+    public function testFetchOne()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches an array of key-value pairs from the model, where the first column is the key and the second column is the value.
+     * 
+     */
+    public function testFetchPairs()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testFetchRelatedArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Given a record, fetches a related record or collection for a named relationship.
+     * 
+     */
+    public function testFetchRelatedObject()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a single value from the model (i.e., the first column of the  first record of the returned page set).
+     * 
+     */
+    public function testFetchValue()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Gets the number of records per page.
+     * 
+     */
+    public function testGetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testGetRelatedModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Inserts one row to the model table.
+     * 
+     */
+    public function testInsert()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate collection object for this model.
+     * 
+     */
+    public function testNewCollection()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate record object for an inheritance model.
+     * 
+     */
+    public function testNewRecord()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool, with the proper SQL object injected automatically, and with eager "to-one" associations joined.
+     * 
+     */
+    public function testNewSelect()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool for selecting related records.
+     * 
+     */
+    public function testNewSelectRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Serializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testSerializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the number of records per page.
+     * 
+     */
+    public function testSetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Unerializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testUnserializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Updates rows in the model table.
+     * 
+     */
+    public function testUpdate()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Tags/Collection.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Tags/Collection.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Tags/Collection.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,326 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Tags_Collection extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Tags_Collection = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Tags_Collection');
+        $this->assertInstance($obj, 'Solar_Example_Model_Tags_Collection');
+    }
+    
+    /**
+     * 
+     * Test -- Gets a data value.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Does a certain key exist in the data?
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key value.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_postSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function test_preSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: returns the current record from the collection.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads *related* data for the collection.
+     * 
+     */
+    public function testLoadRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves all the records from this collection to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Tags/Record.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Tags/Record.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Tags/Record.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,386 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Tags_Record extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Tags_Record = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Tags_Record');
+        $this->assertInstance($obj, 'Solar_Example_Model_Tags_Record');
+    }
+    
+    /**
+     * 
+     * Test -- Magic getter for record properties; automatically calls __getColName() methods when they exist.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Checks if a data key is set.
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Magic setter for record properties; automatically calls __setColName() methods when they exist.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current value for the array pointer.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes this record from the database.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Filter the data.
+     * 
+     */
+    public function testFilter()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testForm()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the validation failure message for one or more properties.
+     * 
+     */
+    public function testGetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the current page number for a named relation.
+     * 
+     */
+    public function testGetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the status of this record.
+     * 
+     */
+    public function testGetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Refreshes data for this record from the database.
+     * 
+     */
+    public function testRefresh()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves this record to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces one property to be "invalid" and sets a validation failure message for it.
+     * 
+     */
+    public function testSetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testSetInvalids()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the page number for a named relation, so that only records from that page are loaded.
+     * 
+     */
+    public function testSetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces the status of this record.
+     * 
+     */
+    public function testSetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Converts the properties of this model Record or Collection to an array, including related models stored in properties.
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/Tags.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/Tags.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/Tags.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,346 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_Tags extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_Tags = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_Tags');
+        $this->assertInstance($obj, 'Solar_Example_Model_Tags');
+    }
+    
+    /**
+     * 
+     * Test -- Magic call implements "fetchOneBy...()" and "fetchAllBy...()" for columns listed in the method name.
+     * 
+     */
+    public function test__call()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Read-only access to protected model properties.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches count and pages of available records.
+     * 
+     */
+    public function testCountPages()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Counts the number of records in a related model for a given record.
+     * 
+     */
+    public function testCountPagesRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes rows from the model table.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a record or collection by primary key value(s).
+     * 
+     */
+    public function testFetch()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches all records by arbitrary parameters.
+     * 
+     */
+    public function testFetchAll()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- The same as fetchAll(), except the record collection is keyed on the first column of the results (instead of being a strictly sequential array.)  Recognized parameters for the fetch are:  `cols` : (string|array) Return only these columns.
+     * 
+     */
+    public function testFetchAssoc()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a sequential array of values from the model, using only the first column of the results.
+     * 
+     */
+    public function testFetchCol()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new record with default values.
+     * 
+     */
+    public function testFetchNew()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches one record by arbitrary parameters.
+     * 
+     */
+    public function testFetchOne()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches an array of key-value pairs from the model, where the first column is the key and the second column is the value.
+     * 
+     */
+    public function testFetchPairs()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testFetchRelatedArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Given a record, fetches a related record or collection for a named relationship.
+     * 
+     */
+    public function testFetchRelatedObject()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a single value from the model (i.e., the first column of the  first record of the returned page set).
+     * 
+     */
+    public function testFetchValue()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Gets the number of records per page.
+     * 
+     */
+    public function testGetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testGetRelatedModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Inserts one row to the model table.
+     * 
+     */
+    public function testInsert()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate collection object for this model.
+     * 
+     */
+    public function testNewCollection()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate record object for an inheritance model.
+     * 
+     */
+    public function testNewRecord()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool, with the proper SQL object injected automatically, and with eager "to-one" associations joined.
+     * 
+     */
+    public function testNewSelect()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool for selecting related records.
+     * 
+     */
+    public function testNewSelectRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Serializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testSerializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the number of records per page.
+     * 
+     */
+    public function testSetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Unerializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testUnserializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Updates rows in the model table.
+     * 
+     */
+    public function testUpdate()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/TestSolarDib.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/TestSolarDib.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/TestSolarDib.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,346 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_TestSolarDib extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_TestSolarDib = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_TestSolarDib');
+        $this->assertInstance($obj, 'Solar_Example_Model_TestSolarDib');
+    }
+    
+    /**
+     * 
+     * Test -- Magic call implements "fetchOneBy...()" and "fetchAllBy...()" for columns listed in the method name.
+     * 
+     */
+    public function test__call()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Read-only access to protected model properties.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches count and pages of available records.
+     * 
+     */
+    public function testCountPages()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Counts the number of records in a related model for a given record.
+     * 
+     */
+    public function testCountPagesRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes rows from the model table.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a record or collection by primary key value(s).
+     * 
+     */
+    public function testFetch()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches all records by arbitrary parameters.
+     * 
+     */
+    public function testFetchAll()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- The same as fetchAll(), except the record collection is keyed on the first column of the results (instead of being a strictly sequential array.)  Recognized parameters for the fetch are:  `cols` : (string|array) Return only these columns.
+     * 
+     */
+    public function testFetchAssoc()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a sequential array of values from the model, using only the first column of the results.
+     * 
+     */
+    public function testFetchCol()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new record with default values.
+     * 
+     */
+    public function testFetchNew()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches one record by arbitrary parameters.
+     * 
+     */
+    public function testFetchOne()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches an array of key-value pairs from the model, where the first column is the key and the second column is the value.
+     * 
+     */
+    public function testFetchPairs()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testFetchRelatedArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Given a record, fetches a related record or collection for a named relationship.
+     * 
+     */
+    public function testFetchRelatedObject()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches a single value from the model (i.e., the first column of the  first record of the returned page set).
+     * 
+     */
+    public function testFetchValue()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Gets the number of records per page.
+     * 
+     */
+    public function testGetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testGetRelatedModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Inserts one row to the model table.
+     * 
+     */
+    public function testInsert()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate collection object for this model.
+     * 
+     */
+    public function testNewCollection()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the appropriate record object for an inheritance model.
+     * 
+     */
+    public function testNewRecord()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool, with the proper SQL object injected automatically, and with eager "to-one" associations joined.
+     * 
+     */
+    public function testNewSelect()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns a new Solar_Sql_Select tool for selecting related records.
+     * 
+     */
+    public function testNewSelectRelated()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Serializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testSerializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the number of records per page.
+     * 
+     */
+    public function testSetPaging()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Unerializes data values in-place based on $this->_serialize_cols.
+     * 
+     */
+    public function testUnserializeCols()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Updates rows in the model table.
+     * 
+     */
+    public function testUpdate()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/TestSolarFoo/Bar/Record.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/TestSolarFoo/Bar/Record.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/TestSolarFoo/Bar/Record.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,386 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_TestSolarFoo_Bar_Record extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_TestSolarFoo_Bar_Record = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_TestSolarFoo_Bar_Record');
+        $this->assertInstance($obj, 'Solar_Example_Model_TestSolarFoo_Bar_Record');
+    }
+    
+    /**
+     * 
+     * Test -- Magic getter for record properties; automatically calls __getColName() methods when they exist.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Checks if a data key is set.
+     * 
+     */
+    public function test__isset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Magic setter for record properties; automatically calls __setColName() methods when they exist.
+     * 
+     */
+    public function test__set()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets a key in the data to null.
+     * 
+     */
+    public function test__unset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Countable: how many keys are there?
+     * 
+     */
+    public function testCount()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current value for the array pointer.
+     * 
+     */
+    public function testCurrent()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Deletes this record from the database.
+     * 
+     */
+    public function testDelete()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Filter the data.
+     * 
+     */
+    public function testFilter()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testForm()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the validation failure message for one or more properties.
+     * 
+     */
+    public function testGetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the model from which the data originates.
+     * 
+     */
+    public function testGetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the current page number for a named relation.
+     * 
+     */
+    public function testGetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Returns the status of this record.
+     * 
+     */
+    public function testGetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: get the current key for the array pointer.
+     * 
+     */
+    public function testKey()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Loads the struct with data from an array or another struct.
+     * 
+     */
+    public function testLoad()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the next position.
+     * 
+     */
+    public function testNext()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: does the requested key exist?
+     * 
+     */
+    public function testOffsetExists()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: get a key value.
+     * 
+     */
+    public function testOffsetGet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: set a key value.
+     * 
+     */
+    public function testOffsetSet()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- ArrayAccess: unset a key.
+     * 
+     */
+    public function testOffsetUnset()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Refreshes data for this record from the database.
+     * 
+     */
+    public function testRefresh()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: move to the first position.
+     * 
+     */
+    public function testRewind()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Saves this record to the database, inserting or updating as needed.
+     * 
+     */
+    public function testSave()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces one property to be "invalid" and sets a validation failure message for it.
+     * 
+     */
+    public function testSetInvalid()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- 
+     * 
+     */
+    public function testSetInvalids()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Injects the model from which the data originates.
+     * 
+     */
+    public function testSetModel()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Sets the page number for a named relation, so that only records from that page are loaded.
+     * 
+     */
+    public function testSetRelatedPage()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Forces the status of this record.
+     * 
+     */
+    public function testSetStatus()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Converts the properties of this model Record or Collection to an array, including related models stored in properties.
+     * 
+     */
+    public function testToArray()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Iterator: is the current position valid?
+     * 
+     */
+    public function testValid()
+    {
+        $this->todo('stub');
+    }
+
+}

Added: branches/orm/tests/Test/Solar/Example/Model/TestSolarFoo/Bar.php
===================================================================
--- branches/orm/tests/Test/Solar/Example/Model/TestSolarFoo/Bar.php	                        (rev 0)
+++ branches/orm/tests/Test/Solar/Example/Model/TestSolarFoo/Bar.php	2007-09-29 02:40:28 UTC (rev 2801)
@@ -0,0 +1,346 @@
+<?php
+/**
+ * 
+ * Concrete class test.
+ * 
+ */
+class Test_Solar_Example_Model_TestSolarFoo_Bar extends Solar_Test {
+    
+    /**
+     * 
+     * Configuration values.
+     * 
+     * @var array
+     * 
+     */
+    protected $_Test_Solar_Example_Model_TestSolarFoo_Bar = array(
+    );
+    
+    // -----------------------------------------------------------------
+    // 
+    // Support methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Constructor.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __construct($config = null)
+    {
+        parent::__construct($config);
+    }
+    
+    /**
+     * 
+     * Destructor; runs after all methods are complete.
+     * 
+     * @param array $config User-defined configuration parameters.
+     * 
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+    
+    /**
+     * 
+     * Setup; runs before each test method.
+     * 
+     */
+    public function setup()
+    {
+        parent::setup();
+    }
+    
+    /**
+     * 
+     * Setup; runs after each test method.
+     * 
+     */
+    public function teardown()
+    {
+        parent::teardown();
+    }
+    
+    // -----------------------------------------------------------------
+    // 
+    // Test methods.
+    // 
+    // -----------------------------------------------------------------
+    
+    /**
+     * 
+     * Test -- Constructor.
+     * 
+     */
+    public function test__construct()
+    {
+        $obj = Solar::factory('Solar_Example_Model_TestSolarFoo_Bar');
+        $this->assertInstance($obj, 'Solar_Example_Model_TestSolarFoo_Bar');
+    }
+    
+    /**
+     * 
+     * Test -- Magic call implements "fetchOneBy...()" and "fetchAllBy...()" for columns listed in the method name.
+     * 
+     */
+    public function test__call()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Read-only access to protected model properties.
+     * 
+     */
+    public function test__get()
+    {
+        $this->todo('stub');
+    }
+    
+    /**
+     * 
+     * Test -- Fetches count and pages of available records.
+     * 
+     */
+