@@ -371,7 +371,7 @@ describe('Integer', () => {
371371 } )
372372
373373 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 ( ) ) ) ) )
375375 } )
376376
377377 test ( 'int(number) should be reversed by Integer.toNumber' , ( ) => {
@@ -412,66 +412,75 @@ describe('Integer', () => {
412412 ( a , b , c ) => a . multiply ( b . subtract ( c ) ) . equals ( a . multiply ( b ) . subtract ( a . multiply ( c ) ) ) ) )
413413 } )
414414
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+
415436 describe ( 'with same sign' , ( ) => {
416437 test ( 'Integer.greaterThan should return true if a - b is positive' , ( ) => {
417438 fc . assert ( fc . property (
418- arbitrarySameSignalIntegers ( ) ,
439+ arbitrarySameSignIntegers ( ) ,
419440 ( { a, b } ) => a . subtract ( b ) . isPositive ( ) ? a . greaterThan ( b ) : ! a . greaterThan ( b ) ) )
420441 } )
421442
422443 test ( 'Integer.greaterThanOrEqual should return true if a - b is positive or ZERO' , ( ) => {
423444 fc . assert ( fc . property (
424- arbitrarySameSignalIntegers ( ) ,
445+ arbitrarySameSignIntegers ( ) ,
425446 ( { a, b } ) => a . subtract ( b ) . isPositive ( ) || a . subtract ( b ) . isZero ( ) ? a . greaterThanOrEqual ( b ) : ! a . greaterThanOrEqual ( b ) ) )
426447 } )
427448
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-
434449 test ( 'Integer.lessThanOrEqual should return true if a - b is ZERO or negative' , ( ) => {
435450 fc . assert ( fc . property (
436- arbitrarySameSignalIntegers ( ) ,
451+ arbitrarySameSignIntegers ( ) ,
437452 ( { a, b } ) => a . subtract ( b ) . isNegative ( ) || a . subtract ( b ) . isZero ( ) ? a . lessThanOrEqual ( b ) : ! a . lessThanOrEqual ( b ) ) )
438453 } )
439454
440455 test ( 'Integer.lessThanOrEqual should return true if a - b is ZERO or negative' , ( ) => {
441456 fc . assert ( fc . property (
442- arbitrarySameSignalIntegers ( ) ,
457+ arbitrarySameSignIntegers ( ) ,
443458 ( { a, b } ) => a . subtract ( b ) . isNegative ( ) ? a . lessThan ( b ) : ! a . lessThan ( b ) ) )
444459 } )
445460 } )
446461
447462 describe ( 'with different sign' , ( ) => {
448463 test ( 'Integer.greaterThan should return true if a is positive' , ( ) => {
449464 fc . assert ( fc . property (
450- arbitraryDiffSignalIntegers ( ) ,
465+ arbitraryDiffSignIntegers ( ) ,
451466 ( { a, b } ) => a . isPositive ( ) ? a . greaterThan ( b ) : ! a . greaterThan ( b ) ) )
452467 } )
453468
454469 test ( 'Integer.greaterThanOrEqual should return true if a is positive or ZERO' , ( ) => {
455470 fc . assert ( fc . property (
456- arbitraryDiffSignalIntegers ( ) ,
471+ arbitraryDiffSignIntegers ( ) ,
457472 ( { a, b } ) => a . isPositive ( ) || a . isZero ( ) ? a . greaterThanOrEqual ( b ) : ! a . greaterThanOrEqual ( b ) ) )
458473 } )
459474
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-
466475 test ( 'Integer.lessThanOrEqual should return true if a is ZERO or negative' , ( ) => {
467476 fc . assert ( fc . property (
468- arbitraryDiffSignalIntegers ( ) ,
477+ arbitraryDiffSignIntegers ( ) ,
469478 ( { a, b } ) => a . isNegative ( ) || a . isZero ( ) ? a . lessThanOrEqual ( b ) : ! a . lessThanOrEqual ( b ) ) )
470479 } )
471480
472481 test ( 'Integer.lessThanOrEqual should return true if a is ZERO or negative' , ( ) => {
473482 fc . assert ( fc . property (
474- arbitraryDiffSignalIntegers ( ) ,
483+ arbitraryDiffSignIntegers ( ) ,
475484 ( { a, b } ) => a . isNegative ( ) ? a . lessThan ( b ) : ! a . lessThan ( b ) ) )
476485 } )
477486 } )
0 commit comments