BlobFile support
----------------

Some setup:

  >>> import md5
  >>> from StringIO import StringIO
  >>> from plone.checksum import IChecksumManager

  >>> from Products.BlobFile.Extensions.install import install
  >>> dontcare = install(self.portal)

Actual tests:

  >>> folder.invokeFactory('BlobFile', 'myblob')
  'myblob'
  >>> blob = folder.myblob
  >>> manager = IChecksumManager(blob)
  >>> print manager['file']
  n/a
  >>> print manager['file'].calculate()
  d41d8cd98f00b204e9800998ecf8427e

Let's fill the content's `file` field with some contents:

  >>> contents = StringIO('some contents, ' * 10000)
  >>> blob.setFile(contents)
  >>> print manager['file'].calculate()
  8d43d3687f3684666900db3945712e90

If we set the file's contents to something else, the checksum changes:

  >>> contents = StringIO('something else, ' * 10000)
  >>> blob.setFile(contents)
  >>> print manager['file'].calculate()
  4003a21edc0b8d93bda0ce0c4fa71cfa
  >>> print md5.new(contents.getvalue()).hexdigest()
  4003a21edc0b8d93bda0ce0c4fa71cfa
