def test(store):
    """Bug report from Stefan Karlsson <stefan@everynet.se> on Dec 3 2001.

    Obj refs can be incorrectly stored to the database as zeroes for newly created objects.
    """

    from Bar import Bar
    from Foo import Foo
    from BarReq import BarReq

    # Since we're the second empty test, double check that the db is really empty
    assert len(store.fetchObjectsOfClass(Bar)) == 0
    assert len(store.fetchObjectsOfClass(Foo)) == 0

    bar = Bar()
    foo = Foo()
    store.addObject(bar)
    store.addObject(foo)
    bar.setFoo(foo)

    store.saveChanges()

    bars = store.fetchObjectsOfClass(Bar)
    assert len(bars) == 1
    bar2 = bars[0]
    assert bar2 is bar
    assert bar.foo() is not None  # the sign of the bug in question
    assert bar.foo() is foo  # what we should expect

    store.clear()
    bar = store.fetchObjectsOfClass(Bar)[0]
    assert bar.foo() is not None
