6
6
use std:: fmt:: Debug ;
7
7
8
8
use crate :: itest;
9
- use godot:: prelude:: { inner:: InnerRect2 , * } ;
9
+ use godot:: {
10
+ builtin:: { Rect2 , RectSide , Vector2 } ,
11
+ prelude:: inner:: InnerRect2 ,
12
+ } ;
10
13
11
14
#[ itest]
12
15
fn rect2_equiv_unary ( ) {
@@ -25,61 +28,65 @@ fn rect2_equiv_unary() {
25
28
Vector2 :: new ( 10.0 , 10.0 ) ,
26
29
] ;
27
30
let test_reals = [ 0.0 , 1.0 , 10.0 , 32.0 ] ;
31
+ let grow_values = [ -1.0 , 0.0 , 1.0 , 7.0 ] ;
28
32
let test_sides = [
29
33
RectSide :: Left ,
30
34
RectSide :: Top ,
31
35
RectSide :: Right ,
32
36
RectSide :: Bottom ,
33
37
] ;
34
38
35
- fn evaluate_mappings < T > ( key : & str , a : T , b : T )
39
+ fn check_mapping_eq < T > ( context : & str , outer : T , inner : T )
36
40
where
37
41
T : PartialEq + Debug ,
38
42
{
39
- assert_eq ! ( a, b, "{}: outer != inner ({:?} != {:?})" , key, a, b) ;
43
+ assert_eq ! (
44
+ outer, inner,
45
+ "{context}: outer != inner ({outer:?} != {inner:?})"
46
+ ) ;
40
47
}
41
48
42
49
for a in test_rects {
43
50
let inner_a = InnerRect2 :: from_outer ( & a) ;
44
51
45
- evaluate_mappings ( "abs" , a. abs ( ) , inner_a. abs ( ) ) ;
46
- evaluate_mappings ( "area" , a. area ( ) as f64 , inner_a. get_area ( ) ) ;
47
- evaluate_mappings ( "center" , a. center ( ) , inner_a. get_center ( ) ) ;
48
- evaluate_mappings ( "has_area" , a. has_area ( ) , inner_a. has_area ( ) ) ;
52
+ check_mapping_eq ( "abs" , a. abs ( ) , inner_a. abs ( ) ) ;
53
+ check_mapping_eq ( "area" , a. area ( ) as f64 , inner_a. get_area ( ) ) ;
54
+ check_mapping_eq ( "center" , a. center ( ) , inner_a. get_center ( ) ) ;
55
+ check_mapping_eq ( "has_area" , a. has_area ( ) , inner_a. has_area ( ) ) ;
49
56
50
57
for b in test_rects {
51
- evaluate_mappings ( "encloses" , a. encloses ( b) , inner_a. encloses ( b) ) ;
52
- evaluate_mappings (
58
+ check_mapping_eq ( "encloses" , a. encloses ( b) , inner_a. encloses ( b) ) ;
59
+ check_mapping_eq (
53
60
"intersects" ,
54
61
a. intersects ( b, true ) ,
55
62
inner_a. intersects ( b, true ) ,
56
63
) ;
57
64
// Check intersection without considering borders
58
- evaluate_mappings (
65
+ check_mapping_eq (
59
66
"intersects" ,
60
67
a. intersects ( b, false ) ,
61
68
inner_a. intersects ( b, false ) ,
62
69
) ;
63
- evaluate_mappings (
70
+ check_mapping_eq (
64
71
"intersection" ,
65
72
a. intersection ( b) . unwrap_or_default ( ) ,
66
73
inner_a. intersection ( b) ,
67
74
) ;
68
- evaluate_mappings ( "merge" , a. merge ( b) , inner_a. merge ( b) ) ;
75
+ check_mapping_eq ( "merge" , a. merge ( b) , inner_a. merge ( b) ) ;
69
76
}
70
77
71
78
for b in test_vectors {
72
- evaluate_mappings ( "expand" , a. expand ( b) , inner_a. expand ( b) ) ;
73
- evaluate_mappings ( "has_point" , a. has_point ( b) , inner_a. has_point ( b) ) ;
79
+ check_mapping_eq ( "expand" , a. expand ( b) , inner_a. expand ( b) ) ;
80
+ check_mapping_eq ( "has_point" , a. has_point ( b) , inner_a. has_point ( b) ) ;
74
81
}
75
82
76
- for b in test_reals {
77
- evaluate_mappings ( "grow" , a. grow ( b as f32 ) , inner_a. grow ( b) ) ;
83
+ for b in grow_values {
84
+ check_mapping_eq ( "grow" , a. grow ( b as f32 ) , inner_a. grow ( b) ) ;
78
85
79
- for c in test_reals {
80
- for d in test_reals {
81
- for e in test_reals {
82
- evaluate_mappings (
86
+ for c in grow_values {
87
+ for d in grow_values {
88
+ for e in grow_values {
89
+ check_mapping_eq (
83
90
"grow_individual" ,
84
91
a. grow_individual ( b as f32 , c as f32 , d as f32 , e as f32 ) ,
85
92
inner_a. grow_individual ( b, c, d, e) ,
@@ -91,7 +98,7 @@ fn rect2_equiv_unary() {
91
98
92
99
for b in test_sides {
93
100
for c in test_reals {
94
- evaluate_mappings (
101
+ check_mapping_eq (
95
102
"grow_side" ,
96
103
a. grow_side ( b, c as f32 ) ,
97
104
inner_a. grow_side ( b as i64 , c) ,
0 commit comments