<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi.<div><br></div><div>I'm slowly (very) working towards crating a usable test for validating for classes where #= is true, #hash will also be true.</div><div><br></div><div>Last week, the Date issue showed up.  This week? </div><div>Intervals:</div><div><div>   (0 to: 1) = (0 to: 5/3). "true"</div><div>   (0 to: 1) hash = (0 to: 5/3) hash. "false"</div></div><div>CharacterBlock:</div><div>   | cb1 cb2 |</div><div>   cb1 := (CharacterBlock new stringIndex: 5 text: 'StandardText' asText topLeft: (100@100) extent: (20@20)).</div><div>   cb2 := (CharacterBlock new stringIndex: 5 text: 'StandardText' asText topLeft: (200@200) extent: (20@20)).</div><div>   cb1 = cb2. "true"</div><div>   cb1 hash = cb2 hash. "false"</div><div><br></div><div>These were found by comparing a random sampling of instances of classes that implement #= or #hash (or both), and finding which have these deviant properties.  The hard part is figuring out instances that are going to have issues - Date didn't show up in my prototype scanning.  Also most classes don't have instances floating around to compare.</div><div><br></div><div>Thanks,</div><div>-cbc</div></div></div></div>