Sidef

 view release on metacpan or  search on metacpan

t/01-number.t  view on Meta::CPAN

#!perl -T

###############################################################################

use strict;
use warnings;

use Test::More tests => 188;

use Sidef;

sub re($) {
    qr/^\Q$_[0]\E\z/;
}

###############################################################################
# general tests

my $o = 'Sidef::Types::Number::Number';

my $zero = $o->new( 0);
my $one  = $o->new( 1);
my $mone = $o->new(-1);

{
    my $x = $o->new(1234);
    is("$x", "1234");

    $x = $o->new("1234/1");
    is("$x", "1234");

    $x = $o->new("1234/2");
    is("$x", "617");

    #$x = $o->new("100/1.0");
    #is("$x", "100");

    #$x = $o->new("10.0/1.0");
    #is("$x", "10");

    #$x = $o->new("0.1/10");
    #is("$x", "0.01");

    #$x = $o->new("0.1/0.1");
    #is("$x", "1");

    #$x = $o->new("1e2/10");
    #is("$x", "10");

    #$x = $o->new("5/1e2");
    #is("$x", "0.05");

    #$x = $o->new("1e2/1e1");
    #is("$x", "10");

    $x = $o->new("8");
    $x = $x->rsft($o->new("32"));
    is("$x", "0");

    $x = $o->new("112");
    $x = $x->rsft($o->new("32"));
    is("$x", "0");

    $x = $o->new("640");
    $x = $x->rsft($o->new("64"));
    is("$x", "0");

    $x = $o->new("1 / 3");
    like($x->as_rat, re '1/3');

    $x = $o->new("-1 / 3");
    like($x->as_rat, re '-1/3');



( run in 2.984 seconds using v1.01-cache-2.11-cpan-5e09290becf )