<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div><br>
> These days I'm having problems with improving the test cases.<br>
> It's not a good idea to run all the tests after improve test for each<br>
> function since it takes much time.<br>
> As well I can't run tests individually without errors again and again.<br>
> (File not found, undefined constant,  undefined variable)<br>
> I cannot find that my tests are correct or not.Chanaka<br>
<br>
</div>First of all the tests should run standalone as well as part of<br>
testsuite. I see lot of tests fail in both modes, so maybe that's the<br>
reason why it fails for you?<br>
<div><br>
> Please suggest me some way to get rid of this problem.<br>
> Its very helpful if you can give one example for fixing a failing test in<br>
> PMA_DisplayResults_test.php<br>
<br>
</div>Fix the tests and code to work together :-).<br></blockquote><div> </div></div><div>Okay I'll try again Michal <br></div></div>
</blockquote></div><br></div></div>Hi Michal,<br><br>I managed to run only needed tests by modifying phpunit.xml.dist file. And now Its no need to wait till all tests are running.<br><br>The problem for the errors in PMA_DisplayResults_test.php tests is not properly set the properties of PMA_DisplayResults class.<br>



So that, I get following two types of errors :<br>1. Trying to get property of non-object  -   $fields_meta[0]->table<br>2. Invalid argument supplied for foreach()  -  foreach ($vertical_display[$operation] as $val)<br>



<br>I try to set those parameters by calling setProperties() method.<br>As I found, the conditions inside __set and __get method are not satisfying. <br><br>That is,<br>if (property_exists($this, $property))<br><br>But if I print the object at testing time, it shows me the properties are actually there itself.<br>



I am confusing about this.<br>Do you have any idea or suggestion for this ?<br><br></blockquote></div></div></div>Hi Michal,<br><br>I just found that, property_exists method cannot detect properties in magic method __get, from the manual [0].<br>

I'll try with changing the method names.<br><br>
[0] : <a href="http://php.net/manual/en/function.property-exists.php" target="_blank">http://php.net/manual/en/function.property-exists.php</a><br></blockquote><div><br>Hi Michal,<br><br>I try some modifications in those magic methods in order to fix those tests.<br>

I use an array to store the all properties instead of using separate set of properties. (I feel Dieter also try to say something like that in a previous mail)<br>Now there is no doubt of using magic methods at any place.<br>

<br>I need your suggestion before doing this change.<br>Following snippet shows what I'm going to do.<br><br>// initialize at the top so that any property should include here<br>private $_properties_array = array('_db'=>null, '_table'=>null, .........);<br>

<br>public function __set($property, $value)<br>{<br>    if(array_key_exists($property, $this->_properties_array)) { // check array key is defined - this is same as check property exist<br>        $this->_properties_array[$property] = $value;<br>
    }<br>}<br><br>public function __get($property)<br>
{<br>    if(array_key_exists($property, $this->_properties_array)) {<br>        return $this->_properties_array[$property];<br>    }<br>}<br><br>Waiting for your suggestions.<br><br>Regards !<br><br><i style="color:rgb(153,153,153)">Chanaka</i><br>
</div></div>