2011-04-21 132 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