<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
namespace Tests\Collections;
use Collections\Stack;
use RuntimeException;
/**
* @author italo
*/
class StackTest extends CollectionsTestCase
{
/**
* @var Stack
*/
private $coll;
protected function setUp()
{
$this->coll = new Stack();
}
public function testNewInstance()
{
$this->assertNotNull($this->coll);
}
public function testEnqueueItem()
{
$this->coll->push('testing');
$this->assertTrue(is_string((string)$this->coll));
}
public function testEnqueueMultiple()
{
$this->coll->pushMultiple(array(1, 2, 3, 4));
$this->assertTrue(is_string((string)$this->coll));
}
/**
* @expectedException RuntimeException
*/
public function testDequeueEmptyQueue()
{
$this->coll->pop();
}
public function testEnqueueToArray()
{
$this->coll->push('testing1');
$this->coll->push('testing2');
$this->coll->push('testing3');
$this->assertEquals(array('testing1', 'testing2', 'testing3'), $this->coll->toArray());
}
public function testEnqueueAndDequeueToArray()
{
$this->coll->push('testing1');
$this->coll->push('testing2');
$this->coll->push('testing3');
$this->coll->pop();
$this->assertEquals(array('testing1', 'testing2'), $this->coll->toArray());
}
}
|