/** * @covers Group_Shipping_Items::shipping */ public function test_shipping() { $method = Jam::build('shipping_method'); $purchase_items = array(Jam::build('purchase_item')); $shipping = $this->getMock('Model_Brand_Purchase_Shipping', array('duplicate', 'build_items_from'), array('brand_purchase_shipping')); $shipping->expects($this->once())->method('duplicate')->will($this->returnSelf()); $shipping->expects($this->once())->method('build_items_from')->with($this->identicalTo($purchase_items), $this->identicalTo($method))->will($this->returnSelf()); $group_items = new Group_Shipping_Items($shipping, $purchase_items, $method); $result = $group_items->shipping(); $this->assertSame($shipping, $result); $result = $group_items->shipping(); $this->assertSame($shipping, $result); }