public function testHasProduct()
{
$basket = $this->getPreparedBasket();
$product = $this->getMockProduct();
$this->assertFalse($basket->hasProduct($product), '::hasProduct false because basket is empty');
$basketElement = $this->getMock('Sonata\\Component\\Basket\\BasketElementInterface');
$basketElement->expects($this->any())->method('getProduct')->will($this->returnValue($product));
$basketElement->expects($this->any())->method('getPosition')->will($this->returnValue(1042));
$basket->addBasketElement($basketElement);
$this->assertFalse($basket->hasProduct($product), '::hasProduct false because position invalid');
$basketElement = new BasketElement();
$basketElement->setProduct('product_code', $product);
$basket->addBasketElement($basketElement);
$this->assertTrue($basket->hasProduct($product), '::hasProduct true');
}