2011-04-21 169 views
0

我想爲處理一堆正整數的類編寫單元測試。如何編寫php單元測試來測試堆棧功能?

這種類有4種方法:push($x), pop(), getSize(), purge()

請幫幫我。

類的樣子: -

class Stack { 

    private $stack = array(); 

    public function __construct() { 
    } 

    public function push($data) { 
     array_push($this->stack, $data); 
    } 

    public function pop() { 
     return array_pop($this->stack); 
    } 

    public function getSize() { 
     return count($this->stack); 
    } 

    public function purge($element) { 
     unset $this->stack[$element]; 
    } 

} 

$s = new Stack(); 
+0

請具體談談你所面臨的問題。我們不會爲您編寫測試課,所以如果您不知道從哪裏開始,請閱讀phpunit手冊。 – Gordon 2011-04-21 12:34:54

+0

@戈登,我發佈了示例類。如果我不想使用phpunit怎麼辦?我們不能寫簡單的測試用例嗎? – 2011-04-21 12:43:18

+0

'清除'功能是危險的。請注意,'unset'會將元素設置爲null,所以如果您彈出未設置的項目,您將得到空值。 – 2011-04-21 12:44:46

回答

2

一個考驗將是

$s = new Stack(); 
$s->push(1); 
assertEquals($s->getSize(), 1); 
$s->push(2); 
assertEquals($s->getSize(), 2); 
assertEquals($s->pop(), 2); 
assertEquals($s->getSize(), 1); 
assertEquals($s->pop(), 1); 
assertEquals($s->getSize(), 0); 
+0

它似乎是我正在尋找的那個。讓我檢查一下 – 2011-04-21 12:56:07