@@ -2,33 +2,48 @@ import { loop } from "../loop";
22
33describe ( "loop" , ( ) => {
44 it ( "should increase the number by 1 when the number is less than or equal to the max number" , ( ) => {
5- expect ( loop ( 0 , 3 , true ) ) . toBe ( 1 ) ;
6- expect ( loop ( 0 , 1 , true ) ) . toBe ( 1 ) ;
7- expect ( loop ( 1 , 100 , true ) ) . toBe ( 2 ) ;
5+ expect ( loop ( { value : 0 , max : 3 , increment : true } ) ) . toBe ( 1 ) ;
6+ expect ( loop ( { value : 0 , max : 1 , increment : true } ) ) . toBe ( 1 ) ;
7+ expect ( loop ( { value : 1 , max : 100 , increment : true } ) ) . toBe ( 2 ) ;
88 } ) ;
99
1010 it ( "should decrease the number by 1 when the number is greater than 0" , ( ) => {
11- expect ( loop ( 1 , 3 , false ) ) . toBe ( 0 ) ;
12- expect ( loop ( 1 , 1 , false ) ) . toBe ( 0 ) ;
13- expect ( loop ( 100 , 100 , false ) ) . toBe ( 99 ) ;
11+ expect ( loop ( { value : 1 , max : 3 , increment : false } ) ) . toBe ( 0 ) ;
12+ expect ( loop ( { value : 1 , max : 1 , increment : false } ) ) . toBe ( 0 ) ;
13+ expect ( loop ( { value : 100 , max : 100 , increment : false } ) ) . toBe ( 99 ) ;
1414 } ) ;
1515
1616 it ( "should correctly loop around to 0 when the number is the max value and incrementing" , ( ) => {
17- expect ( loop ( 100 , 100 , true ) ) . toBe ( 0 ) ;
18- expect ( loop ( 1 , 1 , true ) ) . toBe ( 0 ) ;
19- expect ( loop ( 20 , 20 , true ) ) . toBe ( 0 ) ;
17+ expect ( loop ( { value : 100 , max : 100 , increment : true } ) ) . toBe ( 0 ) ;
18+ expect ( loop ( { value : 1 , max : 1 , increment : true } ) ) . toBe ( 0 ) ;
19+ expect ( loop ( { value : 20 , max : 20 , increment : true } ) ) . toBe ( 0 ) ;
2020 } ) ;
2121
2222 it ( "should correctly loop around to the max value when the number is 0 and decrementing" , ( ) => {
23- expect ( loop ( 0 , 100 , false ) ) . toBe ( 100 ) ;
24- expect ( loop ( 0 , 1 , false ) ) . toBe ( 1 ) ;
25- expect ( loop ( 0 , 20 , false ) ) . toBe ( 20 ) ;
23+ expect ( loop ( { value : 0 , max : 100 , increment : false } ) ) . toBe ( 100 ) ;
24+ expect ( loop ( { value : 0 , max : 1 , increment : false } ) ) . toBe ( 1 ) ;
25+ expect ( loop ( { value : 0 , max : 20 , increment : false } ) ) . toBe ( 20 ) ;
2626 } ) ;
2727
2828 it ( "should only keep the number between 0 and the max value if the minmax arg is enabled" , ( ) => {
29- expect ( loop ( - 1 , 20 , true , true ) ) . toBe ( 0 ) ;
30- expect ( loop ( - 1 , 20 , false , true ) ) . toBe ( 0 ) ;
31- expect ( loop ( 100 , 20 , true , true ) ) . toBe ( 20 ) ;
32- expect ( loop ( 100 , 20 , false , true ) ) . toBe ( 20 ) ;
29+ expect ( loop ( { value : - 1 , max : 20 , increment : true , minmax : true } ) ) . toBe ( 0 ) ;
30+ expect ( loop ( { value : - 1 , max : 20 , increment : false , minmax : true } ) ) . toBe (
31+ 0
32+ ) ;
33+ expect ( loop ( { value : 100 , max : 20 , increment : true , minmax : true } ) ) . toBe (
34+ 20
35+ ) ;
36+ expect ( loop ( { value : 100 , max : 20 , increment : false , minmax : true } ) ) . toBe (
37+ 20
38+ ) ;
39+ } ) ;
40+
41+ it ( "should allow for a custom min value" , ( ) => {
42+ expect ( loop ( { value : 0 , min : 1 , max : 10 , increment : false } ) ) . toBe ( 10 ) ;
43+ expect ( loop ( { value : 0 , min : - 10 , max : 10 , increment : false } ) ) . toBe ( - 1 ) ;
44+ expect ( loop ( { value : - 10 , min : - 10 , max : 10 , increment : false } ) ) . toBe ( 10 ) ;
45+
46+ // defaults to 0
47+ expect ( loop ( { value : 0 , max : 10 , increment : false } ) ) . toBe ( 10 ) ;
3348 } ) ;
3449} ) ;
0 commit comments