@@ -525,6 +525,39 @@ public function testItReturnsTheSquareRootWhenBaseNumberIsAnInteger(): void
525
525
$ this ->assertSame (5 , $ number ->asInteger (\PHP_ROUND_HALF_DOWN ));
526
526
}
527
527
528
+ public function testItReturnsModulusWhenBaseNumberIsAnInteger (): void
529
+ {
530
+ $ number = new Number (5 );
531
+ $ number ->modulus (3 );
532
+
533
+ $ this ->assertSame ('2 ' , $ number ->asString ());
534
+ $ this ->assertSame (2.0 , $ number ->asFloat ());
535
+ $ this ->assertSame (2 , $ number ->asInteger ());
536
+ $ this ->assertSame (2 , $ number ->asInteger (\PHP_ROUND_HALF_DOWN ));
537
+ }
538
+
539
+ public function testItReturnsModulusWhenBaseNumberIsAFloat (): void
540
+ {
541
+ $ number = new Number (5.5 );
542
+ $ number ->modulus (2.5 );
543
+
544
+ $ this ->assertSame ('0.5 ' , $ number ->asString ());
545
+ $ this ->assertSame (0.5 , $ number ->asFloat ());
546
+ $ this ->assertSame (1 , $ number ->asInteger ());
547
+ $ this ->assertSame (0 , $ number ->asInteger (\PHP_ROUND_HALF_DOWN ));
548
+ }
549
+
550
+ public function testItReturnsModulusWhenBaseNumberIsAString (): void
551
+ {
552
+ $ number = new Number ('5.5 ' );
553
+ $ number ->modulus ('2.5 ' );
554
+
555
+ $ this ->assertSame ('0.5 ' , $ number ->asString ());
556
+ $ this ->assertSame (0.5 , $ number ->asFloat ());
557
+ $ this ->assertSame (1 , $ number ->asInteger ());
558
+ $ this ->assertSame (0 , $ number ->asInteger (\PHP_ROUND_HALF_DOWN ));
559
+ }
560
+
528
561
public function testItReturnsTrueWhenNumberIsLessThanTheBaseNumberWhenCheckingIfNumberIsLessThanBaseNumber (): void
529
562
{
530
563
$ number = new Number ('100.01 ' );
0 commit comments