Nicolas,<div><br></div><div>   I would duplicate this test, testing both the actual objects and the result of SqNumberParser generating them, e.g.</div><div><br></div><div>testSign</div><div>    self runTestSignOfZero: 0.0 negativeZero: Float negativeZero.</div>
    self runTestSignOfZero: (SqNumberParser parse: &#39;0.0&#39;) negativeZero: (SqNumberParser parse: &#39;-0.0&#39;)<div><br></div><div>runTestSignOfZero: zero negativeZero: negz</div><div>    ....<br><br><div class="gmail_quote">
On Tue, Sep 21, 2010 at 3:02 PM,  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Nicolas Cellier uploaded a new version of KernelTests to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/KernelTests-nice.164.mcz" target="_blank">http://source.squeak.org/trunk/KernelTests-nice.164.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: KernelTests-nice.164<br>
Author: nice<br>
Time: 22 September 2010, 12:02:13.329 am<br>
UUID: 432cb71f-bfd7-4637-a4c4-1232904319e1<br>
Ancestors: KernelTests-nice.163<br>
<br>
Add tests for #sign and #sign: (which means #copySignOf: )<br>
As usual, the case of Float negativeZero is more than tricky...<br>
<br>
=============== Diff against KernelTests-nice.163 ===============<br>
<br>
Item was added:<br>
+ ----- Method: FloatTest&gt;&gt;testSign (in category &#39;testing&#39;) -----<br>
+ testSign<br>
+<br>
+       &quot;Set up&quot;<br>
+       | negatives negz positives strictNegatives strictPositives zero |<br>
+       strictPositives := {2. 2.5. Float infinity}.<br>
+       strictNegatives := {-3. -3.25. Float infinity negated}.<br>
+       zero := 0.0.<br>
+       negz := Float negativeZero.<br>
+       positives := strictPositives copyWith: zero.<br>
+       negatives := strictNegatives copyWith: negz.<br>
+<br>
+       &quot;The sign of non zeros&quot;<br>
+       strictPositives do: [:aPositive | self assert: aPositive sign = 1].<br>
+       strictNegatives do: [:aNegative | self assert: aNegative sign = -1].<br>
+<br>
+       &quot;The sign of zeros&quot;<br>
+       self assert: zero sign = 0.<br>
+       self assert: negz sign = -1. &quot;remark though that negz &gt;= 0.0, and is thus considered positive... Weird&quot;<br>
+<br>
+       &quot;Test the copy sign functions&quot;<br>
+       positives do: [:aPositiveSign |<br>
+               positives do: [:aPositive |<br>
+                       self assert: (aPositive sign: aPositiveSign) = aPositive].<br>
+               negatives do: [:aNegative |<br>
+                       self assert: (aNegative sign: aPositiveSign) = aNegative negated].<br>
+               (0.0 sign: aPositiveSign) sign = 0.<br>
+               (negz sign: aPositiveSign) sign = 0].<br>
+<br>
+       negatives do: [:aNegativeSign |<br>
+               positives do: [:aPositive |<br>
+                       self assert: (aPositive sign: aNegativeSign) = aPositive negated].<br>
+               negatives do: [:aNegative |<br>
+                       self assert: (aNegative sign: aNegativeSign) = aNegative].<br>
+               (negz sign: aNegativeSign) sign = -1.<br>
+               (negz sign: aNegativeSign) sign = -1].!<br>
<br>
<br>
</blockquote></div><br></div>