public function test_delete_behaviour() { $chain = new Chain(); $chain->add('fred')->add('wilma')->add('betty')->add('barney'); assertThat($chain->getTokens(), contains(array('fred', 'wilma', 'betty', 'barney'))); $chain->delete('wilma'); assertThat($chain->getTokens(), contains(array('fred', 'betty', 'barney'))); $chain->delete('barney'); assertThat($chain->getTokens(), contains(array('fred', 'betty'))); $chain->delete('fred'); assertThat($chain->getTokens(), contains(array('betty'))); $chain->delete('betty'); assertThat($chain->getTokens(), contains(array())); }