@@ -38,6 +38,54 @@ void main() {
38
38
expect (list.notNullOrFalse, [true , false , true ]);
39
39
});
40
40
});
41
+
42
+ group ('NullableBoolExtension ifTrue and ifFalse tests' , () {
43
+ test ('ifTrue executes action when boolean is true' , () {
44
+ bool actionExecuted = false ;
45
+ // ignore: unnecessary_nullable_for_final_variable_declarations
46
+ const bool ? nullableBool = true ;
47
+ nullableBool.ifTrue (() => actionExecuted = true );
48
+ expect (actionExecuted, isTrue);
49
+ });
50
+
51
+ test ('ifTrue does not execute action when boolean is false' , () {
52
+ bool actionExecuted = false ;
53
+ // ignore: unnecessary_nullable_for_final_variable_declarations
54
+ const bool ? nullableBool = false ;
55
+ nullableBool.ifTrue (() => actionExecuted = true );
56
+ expect (actionExecuted, isFalse);
57
+ });
58
+
59
+ test ('ifTrue does not execute action when boolean is null' , () {
60
+ bool actionExecuted = false ;
61
+ const bool ? nullableBool = null ;
62
+ nullableBool.ifTrue (() => actionExecuted = true );
63
+ expect (actionExecuted, isFalse);
64
+ });
65
+
66
+ test ('ifFalse executes action when boolean is false' , () {
67
+ bool actionExecuted = false ;
68
+ // ignore: unnecessary_nullable_for_final_variable_declarations
69
+ const bool ? nullableBool = false ;
70
+ nullableBool.ifFalse (() => actionExecuted = true );
71
+ expect (actionExecuted, isTrue);
72
+ });
73
+
74
+ test ('ifFalse does not execute action when boolean is true' , () {
75
+ bool actionExecuted = false ;
76
+ // ignore: unnecessary_nullable_for_final_variable_declarations
77
+ const bool ? nullableBool = true ;
78
+ nullableBool.ifFalse (() => actionExecuted = true );
79
+ expect (actionExecuted, isFalse);
80
+ });
81
+
82
+ test ('ifFalse does not execute action when boolean is null' , () {
83
+ bool actionExecuted = false ;
84
+ const bool ? nullableBool = null ;
85
+ nullableBool.ifFalse (() => actionExecuted = true );
86
+ expect (actionExecuted, isFalse);
87
+ });
88
+ });
41
89
}
42
90
43
91
/// Client code example
0 commit comments