From 53f4d364c064d568ef7d808186e4b7765195d168 Mon Sep 17 00:00:00 2001 From: ftwbzhao Date: Sat, 7 Mar 2015 14:11:42 +0800 Subject: [PATCH] fix booklist remove function --- Behavioral/Iterator/BookList.php | 2 +- Behavioral/Iterator/Tests/IteratorTest.php | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Behavioral/Iterator/BookList.php b/Behavioral/Iterator/BookList.php index 0dda925..6fcf265 100644 --- a/Behavioral/Iterator/BookList.php +++ b/Behavioral/Iterator/BookList.php @@ -25,7 +25,7 @@ class BookList implements \Countable public function removeBook(Book $bookToRemove) { - foreach ($this as $key => $book) { + foreach ($this->books as $key => $book) { /** @var Book $book */ if ($book->getAuthorAndTitle() === $bookToRemove->getAuthorAndTitle()) { unset($this->books[$key]); diff --git a/Behavioral/Iterator/Tests/IteratorTest.php b/Behavioral/Iterator/Tests/IteratorTest.php index 2e117d8..2c5acd9 100644 --- a/Behavioral/Iterator/Tests/IteratorTest.php +++ b/Behavioral/Iterator/Tests/IteratorTest.php @@ -63,4 +63,13 @@ class IteratorTest extends \PHPUnit_Framework_TestCase $iterator->next(); } } + + /** + * Test BookList Remove + */ + public function testBookRemove() + { + $this->bookList->removeBook($this->bookList->getBook(0)); + $this->assertEquals($this->bookList->count(), 2); + } }