All the tests are passing except SDFileStoreTests>>#testBigSave and it appears to be because commitTime is not < 3 seconds. Do you want me to create a test in the actual test classes for Sandstonedb using the mom dad kid objects or can I do something like this? this creates the error I am experiencing when I ran it in the workspace: | t | t := Test new. t as1: OrderedCollection new. t bs: OrderedCollection new. t as add: (A new title: 1). t bs add: (B new title: 1). t as do: [:a | t bs do: [:b | a dict at: b put: 1]]. t save. Test coolDown; warmUp. t inspect. I don't really know how I would translate this into a test case, I am still new to programming so if you could give me some pointers I would very much appreciate them. On Wed, Jun 29, 2011 at 4:39 PM, Ramon Leon <ramon.leon@allresnet.com>wrote:
On 06/29/2011 02:30 PM, David Zmick wrote:
Saving a dictionary that has references to other objects as keys results in data loss in the dictionary.
Do all the tests pass in your image? The test..
testDictionaryKeys | dad | dad := self manClass testPerson save. kid save. mom children: (Dictionary with: dad -> kid). mom save. self flushAndReload. self assert: (mom refreshed children at: dad refreshed ) equals: kid refreshed
Should have already covered this scenario to ensure other records work as keys. #flushAndReload is the same process that happens during image startup. Could you possibly express your scenario as a failing test like above using the existing mock objects? If you can show me a failing test I'll get the problem resolved much quicker.
-- Ramon Leon http://onsmalltalk.com
-- David Zmick dpzmick@gmail.com