testInfoObjects :: IO ()
testInfoObjects = do
  i <- infoCreate
  v <- infoGet i "foo"
  v == Nothing @? "Key 'foo' found in freshly-created Info object"
  infoSet i "foo" "bar"
  v' <- infoGet i "foo"
  v' == (Just "bar") @? ("Key 'foo' was not set to 'bar', check retrieved " ++ show v')
  infoDelete i "foo"
  v'' <- infoGet i "foo"
  v'' == Nothing @? "Key 'foo' was not deleted"
testInfoObjects :: IO ()
testInfoObjects = do
  i <- infoCreate
  v <- infoGet i "foo"
  v == Nothing @? "Key 'foo' found in freshly-created Info object"
  infoSet i "foo" "bar"
  v' <- infoGet i "foo"
  v' == (Just "bar") @? ("Key 'foo' was not set to 'bar', check retrieved " ++ show v')
  infoDelete i "foo"
  v'' <- infoGet i "foo"
  v'' == Nothing @? "Key 'foo' was not deleted"
testInfoObjects = do
  i <- infoCreate
  v <- infoGet i "foo"
  v == Nothing @? "Key 'foo' found in freshly-created Info object"
  infoSet i "foo" "bar"
  v' <- infoGet i "foo"
  v' == (Just "bar") @? ("Key 'foo' was not set to 'bar', check retrieved " ++ show v')
  infoDelete i "foo"
  v'' <- infoGet i "foo"
  v'' == Nothing @? "Key 'foo' was not deleted"