File: 02-dbinterface.t

package info (click to toggle)
libpgobject-type-bigfloat-perl 2.001-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 120 kB
  • sloc: perl: 112; makefile: 2
file content (35 lines) | stat: -rw-r--r-- 1,368 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use Test::More tests => 47;
use PGObject::Type::BigFloat;

my @values = (1.234, 1000, 1234.34, -12333.23, 12143234523, 4233143455, 
              43324324, undef);

for my $val (@values){
   my $testvar = PGObject::Type::BigFloat->from_db($val);
   ok($testvar, "Object creation, value $val") if defined $val;
   ok($testvar->isa('Math::BigFloat'), 
      "Object isa Math::BigFloat,  value $val");
   ok($testvar->isa('PGObject::Type::BigFloat'), 
      "Object isa PGObject::Type::BigFloat, value $val");
   my $out = $testvar->to_db;
   is(ref $out, '', "Output is not an object");
   is($out, $val, "Value matches on output");
}

is(PGObject::Type::BigFloat->div_scale,40,"div_scale initialized");
is(PGObject::Type::BigFloat->accuracy,undef,"accuracy initialized");
is(PGObject::Type::BigFloat->precision,undef,"precision initialized");
is(PGObject::Type::BigFloat->round_mode,'even',"round_mode initialized");

PGObject::Type::BigFloat->accuracy(2);
is(PGObject::Type::BigFloat->accuracy,2,"accuracy initialized");

my $testvar = PGObject::Type::BigFloat->from_db(1.234/2);

is($testvar->to_db, 0.62, "Value matches proper accuracy");

PGObject::Type::BigFloat->precision(-2);
is(PGObject::Type::BigFloat->precision,-2,"precision initialized");

$testvar = PGObject::Type::BigFloat->from_db(1.234/2);
is($testvar->to_db, 0.62, "Value matches proper precision");