    >>> from Products.CMFCore.utils import getToolByName
    >>> sdm = getToolByName(self.portal, 'session_data_manager')
    >>> from decimal import Decimal

    >>> doc01 = self.portal.doc01
    >>> from collective.cart.core.interfaces import IPortal
    >>> ptl = IPortal(doc01)
    >>> ptl
    <collective.cart.core.adapter.portal.Portal object at ...>
    >>> ptl.catalog
    <CatalogTool at /plone/portal_catalog used for /plone/doc01>
    >>> ptl.properties
    <PropertiesTool at /plone/portal_properties>
    >>> ptl.sdm
    <SessionDataManager at /session_data_manager used for /plone/doc01>
    >>> ptl.session
    id: ..., token: ..., content keys: []
    >>> ptl.session_cart_id
    >>> session = sdm.getSessionData(create=False)
    >>> session == ptl.session
    True
    >>> session.set('collective.cart.core.id', '1')
    >>> ptl.session_cart_id
    >>> ptl.cart
    >>> IPortal(doc01).session_cart_id
    '1'
    >>> IPortal(doc01).cart
    <Cart at /plone/cfolder/1>
    >>> IPortal(doc01).decimal_price(1.0) == Decimal('1.00')
    True
    >>> IPortal(doc01).decimal_price('5') == Decimal('5.00')
    True
    >>> IPortal(doc01).cart_properties
    <collective.cart.core.adapter.portal.PortalCartProperties object at ...>
