@@ -371,7 +371,7 @@ describe('Integer', () => {
371
371
} )
372
372
373
373
test ( 'int(string) should match int(Integer)' , ( ) => {
374
- fc . assert ( fc . property ( fc . integer ( ) , i => int ( i ) === int ( i . toString ( ) ) ) )
374
+ fc . assert ( fc . property ( fc . integer ( ) , i => int ( i ) . equals ( int ( i . toString ( ) ) ) ) )
375
375
} )
376
376
377
377
test ( 'int(number) should be reversed by Integer.toNumber' , ( ) => {
@@ -412,66 +412,75 @@ describe('Integer', () => {
412
412
( a , b , c ) => a . multiply ( b . subtract ( c ) ) . equals ( a . multiply ( b ) . subtract ( a . multiply ( c ) ) ) ) )
413
413
} )
414
414
415
+ test ( 'Integer.add should have 0 as identity' , ( ) => {
416
+ fc . assert ( fc . property ( arbitraryInteger ( ) , ( a ) => a . add ( 0 ) . equals ( a ) ) )
417
+ } )
418
+
419
+ test ( 'Integer.subtract should have 0 as identity' , ( ) => {
420
+ fc . assert ( fc . property ( arbitraryInteger ( ) , ( a ) => a . subtract ( 0 ) . equals ( a ) ) )
421
+ } )
422
+
423
+ test ( 'Integer.multiply should have 0 as identity' , ( ) => {
424
+ fc . assert ( fc . property ( arbitraryInteger ( ) , ( a ) => a . multiply ( 1 ) . equals ( a ) ) )
425
+ } )
426
+
427
+ test ( 'Integer.div should have 0 as identity' , ( ) => {
428
+ fc . assert ( fc . property ( arbitraryInteger ( ) , ( a ) => a . div ( 1 ) . equals ( a ) ) )
429
+ } )
430
+
431
+ test ( 'Integer.equals should return true if a - b is ZERO' , ( ) => {
432
+ fc . assert ( fc . property ( arbitraryInteger ( ) , arbitraryInteger ( ) ,
433
+ ( a , b ) => a . subtract ( b ) . isZero ( ) ? a . equals ( b ) : ! a . equals ( b ) ) )
434
+ } )
435
+
415
436
describe ( 'with same sign' , ( ) => {
416
437
test ( 'Integer.greaterThan should return true if a - b is positive' , ( ) => {
417
438
fc . assert ( fc . property (
418
- arbitrarySameSignalIntegers ( ) ,
439
+ arbitrarySameSignIntegers ( ) ,
419
440
( { a, b } ) => a . subtract ( b ) . isPositive ( ) ? a . greaterThan ( b ) : ! a . greaterThan ( b ) ) )
420
441
} )
421
442
422
443
test ( 'Integer.greaterThanOrEqual should return true if a - b is positive or ZERO' , ( ) => {
423
444
fc . assert ( fc . property (
424
- arbitrarySameSignalIntegers ( ) ,
445
+ arbitrarySameSignIntegers ( ) ,
425
446
( { a, b } ) => a . subtract ( b ) . isPositive ( ) || a . subtract ( b ) . isZero ( ) ? a . greaterThanOrEqual ( b ) : ! a . greaterThanOrEqual ( b ) ) )
426
447
} )
427
448
428
- test ( 'Integer.equals should return true if a - b is ZERO' , ( ) => {
429
- fc . assert ( fc . property (
430
- arbitrarySameSignalIntegers ( ) ,
431
- ( { a, b } ) => a . subtract ( b ) . isZero ( ) ? a . equals ( b ) : ! a . equals ( b ) ) )
432
- } )
433
-
434
449
test ( 'Integer.lessThanOrEqual should return true if a - b is ZERO or negative' , ( ) => {
435
450
fc . assert ( fc . property (
436
- arbitrarySameSignalIntegers ( ) ,
451
+ arbitrarySameSignIntegers ( ) ,
437
452
( { a, b } ) => a . subtract ( b ) . isNegative ( ) || a . subtract ( b ) . isZero ( ) ? a . lessThanOrEqual ( b ) : ! a . lessThanOrEqual ( b ) ) )
438
453
} )
439
454
440
455
test ( 'Integer.lessThanOrEqual should return true if a - b is ZERO or negative' , ( ) => {
441
456
fc . assert ( fc . property (
442
- arbitrarySameSignalIntegers ( ) ,
457
+ arbitrarySameSignIntegers ( ) ,
443
458
( { a, b } ) => a . subtract ( b ) . isNegative ( ) ? a . lessThan ( b ) : ! a . lessThan ( b ) ) )
444
459
} )
445
460
} )
446
461
447
462
describe ( 'with different sign' , ( ) => {
448
463
test ( 'Integer.greaterThan should return true if a is positive' , ( ) => {
449
464
fc . assert ( fc . property (
450
- arbitraryDiffSignalIntegers ( ) ,
465
+ arbitraryDiffSignIntegers ( ) ,
451
466
( { a, b } ) => a . isPositive ( ) ? a . greaterThan ( b ) : ! a . greaterThan ( b ) ) )
452
467
} )
453
468
454
469
test ( 'Integer.greaterThanOrEqual should return true if a is positive or ZERO' , ( ) => {
455
470
fc . assert ( fc . property (
456
- arbitraryDiffSignalIntegers ( ) ,
471
+ arbitraryDiffSignIntegers ( ) ,
457
472
( { a, b } ) => a . isPositive ( ) || a . isZero ( ) ? a . greaterThanOrEqual ( b ) : ! a . greaterThanOrEqual ( b ) ) )
458
473
} )
459
474
460
- test ( 'Integer.equals should return true if a is ZERO and b is ZERO' , ( ) => {
461
- fc . assert ( fc . property (
462
- arbitraryDiffSignalIntegers ( ) ,
463
- ( { a, b } ) => a . isZero ( ) && b . isZero ( ) ? a . equals ( b ) : ! a . equals ( b ) ) )
464
- } )
465
-
466
475
test ( 'Integer.lessThanOrEqual should return true if a is ZERO or negative' , ( ) => {
467
476
fc . assert ( fc . property (
468
- arbitraryDiffSignalIntegers ( ) ,
477
+ arbitraryDiffSignIntegers ( ) ,
469
478
( { a, b } ) => a . isNegative ( ) || a . isZero ( ) ? a . lessThanOrEqual ( b ) : ! a . lessThanOrEqual ( b ) ) )
470
479
} )
471
480
472
481
test ( 'Integer.lessThanOrEqual should return true if a is ZERO or negative' , ( ) => {
473
482
fc . assert ( fc . property (
474
- arbitraryDiffSignalIntegers ( ) ,
483
+ arbitraryDiffSignIntegers ( ) ,
475
484
( { a, b } ) => a . isNegative ( ) ? a . lessThan ( b ) : ! a . lessThan ( b ) ) )
476
485
} )
477
486
} )
0 commit comments