function testAddItemAlreadyAdded() { $item1 = new MockCartItem($this); $item2 = new MockCartItem($this); $item1->expectOnce('getId'); $item1->setReturnValue('getId', $item_id = 1); $item1->expectOnce('getAmount'); $item1->setReturnValue('getAmount', 5); $item1->expectNever('summAmount'); $item2->expectOnce('getAmount'); $item2->setReturnValue('getAmount', 10); $item2->expectOnce('getId'); $item2->setReturnValue('getId', $item_id); $item2->expectOnce('summAmount', array(new IsAExpectation('MockCartItem'))); $this->cart_handler->addItem($item1); $this->cart_handler->addItem($item2); $item1->tally(); $item2->tally(); }