protected function getPreparedBasket()
{
$basket = new Basket();
// create the provider mock
$provider = $this->getMock('Sonata\\Component\\Product\\ProductProviderInterface');
$provider->expects($this->any())->method('basketCalculatePrice')->will($this->returnValue(15));
$provider->expects($this->any())->method('isAddableToBasket')->will($this->returnValue(true));
// create the product manager mock
$manager = $this->getMock('Sonata\\Component\\Product\\ProductManagerInterface');
$manager->expects($this->any())->method('getClass')->will($this->returnValue('BasketTest_Product'));
$definition = new ProductDefinition($provider, $manager);
$pool = new Pool();
$pool->addProduct('product_code', $definition);
$basket->setProductPool($pool);
return $basket;
}