perl

 view release on metacpan or  search on metacpan

cpan/Math-BigInt/t/nan_cmp.t  view on Meta::CPAN

# -*- mode: perl; -*-

# test that overloaded compare works when NaN are involved

use strict;
use warnings;

use Test::More tests => 26;

use Math::BigInt;
use Math::BigFloat;

compare('Math::BigInt');
compare('Math::BigFloat');

sub compare {
    my $class = shift;

    my $nan = $class->bnan();
    my $one = $class->bone();

    is($one, $one, "$class->bone() == $class->bone()");

    is($one != $nan, 1, "$class->bone() != $class->bnan()");
    is($nan != $one, 1, "$class->bnan() != $class->bone()");
    is($nan != $nan, 1, "$class->bnan() != $class->bnan()");

    is($nan == $one, '', "$class->bnan() == $class->bone()");
    is($one == $nan, '', "$class->bone() == $class->bnan()");
    is($nan == $nan, '', "$class->bnan() == $class->bnan()");

    is($nan <= $one, '', "$class->bnan() <= $class->bone()");
    is($one <= $nan, '', "$class->bone() <= $class->bnan()");
    is($nan <= $nan, '', "$class->bnan() <= $class->bnan()");

    is($nan >= $one, '', "$class->bnan() >= $class->bone()");
    is($one >= $nan, '', "$class->bone() >= $class->bnan()");
    is($nan >= $nan, '', "$class->bnan() >= $class->bnan()");
}

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.465 second using v1.00-cache-2.02-grep-82fe00e-cpan-9e6bc14194b )