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

+0

@Gordon, 샘플 클래스를 게시했습니다. 내가 phpunit을 사용하고 싶지 않다면? 간단한 테스트 케이스를 작성하겠습니까? –

+0

'purge' 기능은 위험합니다. 'unset'은 요소를 null로 설정하므로 설정되지 않은 항목을 팝하면 null이 반환됩니다. –

답변

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

내가 찾고 있던 것 같습니다. 내가 체크해 볼게 –

관련 문제