@@ -488,6 +488,34 @@ public function testOpposite()
488488 $ this ->assertEquals ('-0.3000 ' , Number::create ('0.3000 ' )->opposite ()->toString ());
489489 }
490490
491+ public function testMin ()
492+ {
493+ $ number = new Number ('200 ' );
494+
495+ $ this ->assertEquals ('200.000 ' , $ number ->min ('200 ' ));
496+ $ this ->assertEquals ('200.000 ' , $ number ->min ('150 ' ));
497+ $ this ->assertEquals ('250.000 ' , $ number ->min ('250 ' ));
498+ }
499+
500+ public function testMax ()
501+ {
502+ $ number = new Number ('200 ' );
503+
504+ $ this ->assertEquals ('200.000 ' , $ number ->max ('200 ' ));
505+ $ this ->assertEquals ('150.000 ' , $ number ->max ('150 ' ));
506+ $ this ->assertEquals ('200.000 ' , $ number ->max ('250 ' ));
507+ }
508+
509+ public function testClamp ()
510+ {
511+ $ number = new Number ('200 ' );
512+
513+ $ this ->assertEquals ('200.000 ' , $ number ->clamp ('100 ' , '200 ' ));
514+ $ this ->assertEquals ('200.000 ' , $ number ->clamp ('100 ' , '300 ' ));
515+ $ this ->assertEquals ('100.000 ' , $ number ->clamp ('50 ' , '100 ' ));
516+ $ this ->assertEquals ('250.000 ' , $ number ->clamp ('250 ' , '300 ' ));
517+ }
518+
491519 public function testIsPositive (): void
492520 {
493521 $ this ->assertTrue ((new Number ('200 ' ))->isPositive ());
0 commit comments