@@ -492,6 +492,39 @@ public function testItDividesMultipleFloatingPointNumbersAsStringAndReturnsRound
492
492
$ this ->assertSame (3 , $ number ->asInteger (\PHP_ROUND_HALF_DOWN ));
493
493
}
494
494
495
+ public function testItReturnsTheSquareRootWhenBaseNumberIsAFloat (): void
496
+ {
497
+ $ number = new Number (30.25 );
498
+ $ number ->squareRoot ();
499
+
500
+ $ this ->assertSame ('5.5 ' , $ number ->asString ());
501
+ $ this ->assertSame (5.5 , $ number ->asFloat ());
502
+ $ this ->assertSame (6 , $ number ->asInteger ());
503
+ $ this ->assertSame (5 , $ number ->asInteger (\PHP_ROUND_HALF_DOWN ));
504
+ }
505
+
506
+ public function testItReturnsTheSquareRootWhenBaseNumberIsAString (): void
507
+ {
508
+ $ number = new Number ('30.25 ' );
509
+ $ number ->squareRoot ();
510
+
511
+ $ this ->assertSame ('5.5 ' , $ number ->asString ());
512
+ $ this ->assertSame (5.5 , $ number ->asFloat ());
513
+ $ this ->assertSame (6 , $ number ->asInteger ());
514
+ $ this ->assertSame (5 , $ number ->asInteger (\PHP_ROUND_HALF_DOWN ));
515
+ }
516
+
517
+ public function testItReturnsTheSquareRootWhenBaseNumberIsAnInteger (): void
518
+ {
519
+ $ number = new Number (25 );
520
+ $ number ->squareRoot ();
521
+
522
+ $ this ->assertSame ('5 ' , $ number ->asString ());
523
+ $ this ->assertSame (5.0 , $ number ->asFloat ());
524
+ $ this ->assertSame (5 , $ number ->asInteger ());
525
+ $ this ->assertSame (5 , $ number ->asInteger (\PHP_ROUND_HALF_DOWN ));
526
+ }
527
+
495
528
public function testItReturnsTrueWhenNumberIsLessThanTheBaseNumberWhenCheckingIfNumberIsLessThanBaseNumber (): void
496
529
{
497
530
$ number = new Number ('100.01 ' );
0 commit comments