Skip to content

Commit

Permalink
Test cmp and === on signed num zeros
Browse files Browse the repository at this point in the history
  • Loading branch information
zoffixznet committed Nov 26, 2016
1 parent 4cb14ff commit f67de6c
Showing 1 changed file with 45 additions and 1 deletion.
46 changes: 45 additions & 1 deletion S32-num/negative-zero.t
Expand Up @@ -2,7 +2,7 @@ use v6;
use lib <t/spec/packages>;
use Test;
use Test::Util;
plan 7;
plan 9;

=begin pod
Expand Down Expand Up @@ -38,3 +38,47 @@ subtest 'sprintf formats' => {
is-neg-zero '-0'.Num, 'Str.Num gives neg. zero (non-num str), U+002D';
is-neg-zero '−0'.Num, 'Str.Num gives neg. zero (non-num str), U+2212';
}

subtest 'cmp on num zeros' => {
plan 12;

is-deeply ( 0e0 cmp -0e0), Same, ' 0e0 cmp -0e0';
is-deeply (-0e0 cmp 0e0), Same, '-0e0 cmp 0e0';
is-deeply (-0e0 cmp -0e0), Same, '-0e0 cmp -0e0';
is-deeply ( 0e0 cmp 0e0), Same, ' 0e0 cmp 0e0';

my num $nz = -0e0;
my num $pz = 0e0;
is-deeply ( $pz cmp $nz), Same, ' 0e0 cmp -0e0, native nums';
is-deeply ( $nz cmp $pz), Same, '-0e0 cmp 0e0, native nums';
is-deeply ( $nz cmp $nz), Same, '-0e0 cmp -0e0, native nums';
is-deeply ( $pz cmp $pz), Same, ' 0e0 cmp 0e0, native nums';

is-deeply ( 0e0 cmp $nz), Same, ' 0e0 cmp -0e0 (native)';
is-deeply ( $nz cmp 0e0), Same, '-0e0 (native) cmp 0e0';
is-deeply ( $pz cmp -0e0), Same, ' 0e0 (native) cmp -0e0';
is-deeply ( -0e0 cmp $pz), Same, '-0e0 cmp 0e0 (native)';
}


# RT #128395
subtest 'infix:<===> on num zeros' => {
plan 12;

is-deeply ( 0e0 === -0e0), False, ' 0e0 === -0e0';
is-deeply (-0e0 === 0e0), False, '-0e0 === 0e0';
is-deeply (-0e0 === -0e0), True, '-0e0 === -0e0';
is-deeply ( 0e0 === 0e0), True, ' 0e0 === 0e0';

my num $nz = -0e0;
my num $pz = 0e0;
is-deeply ( $pz === $nz), False, ' 0e0 === -0e0, native nums';
is-deeply ( $nz === $pz), False, '-0e0 === 0e0, native nums';
is-deeply ( $nz === $nz), True, '-0e0 === -0e0, native nums';
is-deeply ( $pz === $pz), True, ' 0e0 === 0e0, native nums';

is-deeply ( 0e0 === $nz), False, ' 0e0 === -0e0 (native)';
is-deeply ( $nz === 0e0), False, '-0e0 (native) === 0e0';
is-deeply ( $pz === -0e0), False, ' 0e0 (native) === -0e0';
is-deeply ( -0e0 === $pz), False, '-0e0 === 0e0 (native)';
}

0 comments on commit f67de6c

Please sign in to comment.