1+ if ( typeof T === 'undefined' ) require ( '../setup' ) ;
2+
3+ T ( 'sum' , function ( ) {
4+ var expected ;
5+
6+ function t ( ) {
7+ T . assertEqualDecimal ( expected , Decimal . sum . apply ( Decimal , arguments ) ) ;
8+ }
9+
10+ expected = new Decimal ( 0 ) ;
11+
12+ t ( '0' ) ;
13+ t ( '0' , new Decimal ( 0 ) ) ;
14+ t ( 1 , 0 , '-1' ) ;
15+ t ( 0 , new Decimal ( '-10' ) , 0 , 0 , 0 , 0 , 0 , 10 ) ;
16+ t ( 11 , - 11 ) ;
17+ t ( 1 , '2' , new Decimal ( 3 ) , new Decimal ( '4' ) , - 10 ) ;
18+ t ( new Decimal ( - 10 ) , '9' , new Decimal ( 0.01 ) , 0.99 ) ;
19+
20+ expected = new Decimal ( 10 ) ;
21+
22+ t ( '10' ) ;
23+ t ( '0' , new Decimal ( '10' ) ) ;
24+ t ( 10 , 0 ) ;
25+ t ( 0 , 0 , 0 , 0 , 0 , 0 , 10 ) ;
26+ t ( 11 , - 1 ) ;
27+ t ( 1 , '2' , new Decimal ( 3 ) , new Decimal ( '4' ) ) ;
28+ t ( '9' , new Decimal ( 0.01 ) , 0.99 ) ;
29+
30+ expected = new Decimal ( 600 ) ;
31+
32+ t ( 100 , 200 , 300 ) ;
33+ t ( '100' , '200' , '300' ) ;
34+ t ( new Decimal ( 100 ) , new Decimal ( 200 ) , new Decimal ( 300 ) ) ;
35+ t ( 100 , '200' , new Decimal ( 300 ) ) ;
36+ t ( 99.9 , 200.05 , 300.05 ) ;
37+
38+ expected = new Decimal ( NaN ) ;
39+
40+ t ( NaN ) ;
41+ t ( '1' , NaN ) ;
42+ t ( 100 , 200 , NaN ) ;
43+ t ( NaN , 0 , '9' , new Decimal ( 0 ) , 11 , Infinity ) ;
44+ t ( 0 , new Decimal ( '-Infinity' ) , '9' , new Decimal ( NaN ) , 11 ) ;
45+ t ( 4 , '-Infinity' , 0 , '9' , new Decimal ( 0 ) , Infinity , 2 ) ;
46+
47+ expected = new Decimal ( Infinity ) ;
48+
49+ t ( Infinity ) ;
50+ t ( 1 , '1e10000000000000000000000000000000000000000' , '4' ) ;
51+ t ( 100 , 200 , 'Infinity' ) ;
52+ t ( 0 , new Decimal ( 'Infinity' ) , '9' , new Decimal ( 0 ) , 11 ) ;
53+ t ( 0 , '9' , new Decimal ( 0 ) , 11 , Infinity ) ;
54+ t ( 4 , new Decimal ( Infinity ) , 0 , '9' , new Decimal ( 0 ) , Infinity , 2 ) ;
55+
56+ expected = new Decimal ( - Infinity ) ;
57+
58+ t ( - Infinity ) ;
59+ t ( 1 , '-1e10000000000000000000000000000000000000000' , '4' ) ;
60+ t ( 100 , 200 , '-Infinity' ) ;
61+ t ( 0 , new Decimal ( '-Infinity' ) , '9' , new Decimal ( 0 ) , 11 ) ;
62+ t ( 0 , '9' , new Decimal ( 0 ) , 11 , - Infinity ) ;
63+ t ( 4 , new Decimal ( - Infinity ) , 0 , '9' , new Decimal ( 0 ) , - Infinity , 2 ) ;
64+ } ) ;
0 commit comments