Merge pull request #1153 from tiyowan/feature/unit-tests

Fix issue #1148
diff --git a/tests/codeigniter/libraries/Table_test.php b/tests/codeigniter/libraries/Table_test.php
index 133179f..045216b 100644
--- a/tests/codeigniter/libraries/Table_test.php
+++ b/tests/codeigniter/libraries/Table_test.php
@@ -106,42 +106,50 @@
 		// test what would be discreet args,
 		// basically means a single array as the calling method
 		// will use func_get_args()
+		
+		$reflectionOfTable = new ReflectionClass($this->table);
+		$method = $reflectionOfTable->getMethod('_prep_args');
+		
+		$method->setAccessible(true);
+			
 		$this->assertEquals(
 			$expected,
-			$this->table->_prep_args(array(
-				'name', 'color', 'size'
-			)),
-		'discreet');
-		
+			$method->invokeArgs(
+				$this->table, array(array('name', 'color', 'size'), 'discreet')
+			)
+		);
 		
 		// test what would be a single array argument. Again, nested
 		// due to func_get_args on calling methods
 		$this->assertEquals(
 			$expected,
-			$this->table->_prep_args(array(
-				 array('name', 'color', 'size')
-			)),
-		'array');
+			$method->invokeArgs(
+				$this->table, array(array('name', 'color', 'size'), 'array')
+			)
+		);
 		
 		
 		// with cell attributes
 		
 		// need to add that new argument row to our expected outcome
 		$expected[] = array('data' => 'weight', 'class' => 'awesome');
-				
+
 		$this->assertEquals(
 			$expected,
-			$this->table->_prep_args(array(
-				array('name', 'color', 'size',
-					array('data' => 'weight', 'class' => 'awesome')
-				)
-			)),
-		'attributes');
+			$method->invokeArgs(
+				$this->table, array(array('name', 'color', 'size', array('data' => 'weight', 'class' => 'awesome')), 'attributes')
+			)
+		);
 	}
 	
 	public function test_default_template_keys()
 	{
-		$deft_template = $this->table->_default_template();
+		$reflectionOfTable = new ReflectionClass($this->table);
+		$method = $reflectionOfTable->getMethod('_default_template');
+		
+		$method->setAccessible(true);
+		
+		$deft_template = $method->invoke($this->table);
 		$keys = array(
 			'table_open',
 			'thead_open', 'thead_close',
@@ -160,18 +168,23 @@
 	
 	public function test_compile_template()
 	{
+		$reflectionOfTable = new ReflectionClass($this->table);
+		$method = $reflectionOfTable->getMethod('_compile_template');
+		
+		$method->setAccessible(true);
+		
 		$this->assertFalse($this->table->set_template('invalid_junk'));
 		
 		// non default key
 		$this->table->set_template(array('nonsense' => 'foo'));
-		$this->table->_compile_template();
+		$method->invoke($this->table);
 		
 		$this->assertArrayHasKey('nonsense', $this->table->template);
 		$this->assertEquals('foo', $this->table->template['nonsense']);
 		
 		// override default
 		$this->table->set_template(array('table_close' => '</table junk>'));
-		$this->table->_compile_template();
+		$method->invoke($this->table);
 		
 		$this->assertArrayHasKey('table_close', $this->table->template);
 		$this->assertEquals('</table junk>', $this->table->template['table_close']);
@@ -242,8 +255,13 @@
 	
 	public function test_set_from_array()
 	{
-		$this->assertFalse($this->table->_set_from_array('bogus'));
-		$this->assertFalse($this->table->_set_from_array(array()));
+		$reflectionOfTable = new ReflectionClass($this->table);
+		$method = $reflectionOfTable->getMethod('_set_from_array');
+		
+		$method->setAccessible(true);
+				
+		$this->assertFalse($method->invokeArgs($this->table, array('bogus')));
+		$this->assertFalse($method->invoke($this->table, array()));
 		
 		$data = array(
 			array('name', 'color', 'number'),
@@ -251,7 +269,7 @@
 			array('Katie', 'Blue')				
 		);
 		
-		$this->table->_set_from_array($data, FALSE);
+		$method->invokeArgs($this->table, array($data, FALSE));
 		$this->assertEmpty($this->table->heading);
 		
 		$this->table->clear();
@@ -267,7 +285,7 @@
 			array('data' => 'Blue'),
 		);
 		
-		$this->table->_set_from_array($data);
+		$method->invokeArgs($this->table, array($data));
 		$this->assertEquals(count($this->table->rows), 2);
 		
 		$this->assertEquals(