@@ -148,6 +148,13 @@ mod tests {
148148 assert_eq ! ( b. 1 , 0xff ) ;
149149 }
150150
151+ #[ test]
152+ fn test_tile_size ( ) {
153+ use crate :: tile:: tile_size;
154+
155+ assert_eq ! ( tile_size( [ 10 , 10 ] , [ 0 , 0 ] , 1 ) , [ 0.2 , 0.2 ] ) ;
156+ }
157+
151158 #[ test]
152159 fn test_ray_triangle_chunk_hit_all_update ( ) {
153160 use crate :: ray:: ray_triangle_chunk_hit_all_update;
@@ -699,4 +706,25 @@ mod tests {
699706 assert_eq ! ( fog. update( 5.0 , red) , FogState :: Commit {
700707 color: semi_blue, distance: 5.0 } ) ;
701708 }
709+
710+ #[ test]
711+ fn test_sub_tile ( ) {
712+ use crate :: tile:: * ;
713+
714+ assert_eq ! ( optimal_sub_tile_size( 32 ) , 36 ) ;
715+ assert_eq ! ( optimal_sub_tile_size( 15 ) , 24 ) ;
716+ assert_eq ! ( optimal_sub_tile_size( 8 ) , 12 ) ;
717+ assert_eq ! ( optimal_sub_tile_size( 39 ) , 48 ) ;
718+ assert_eq ! ( optimal_sub_tile_size( 50 ) , 60 ) ;
719+ assert_eq ! ( optimal_sub_tile_size( 70 ) , 120 ) ;
720+ assert_eq ! ( optimal_sub_tile_size( 25 ) , 36 ) ;
721+
722+ assert_eq ! ( sub_tile( 48 , 100 , 100 ) , 24 ) ;
723+ assert_eq ! ( sub_tile( 48 , 500 , 100 ) , 16 ) ;
724+ assert_eq ! ( sub_tile( 48 , 1000 , 100 ) , 12 ) ;
725+ assert_eq ! ( sub_tile( 48 , 5000 , 100 ) , 6 ) ;
726+ assert_eq ! ( sub_tile( 48 , 10000 , 100 ) , 4 ) ;
727+ assert_eq ! ( sub_tile( 48 , 100000 , 100 ) , 2 ) ;
728+ assert_eq ! ( sub_tile( 48 , 10000000 , 100 ) , 2 ) ;
729+ }
702730}
0 commit comments