summaryrefslogtreecommitdiffstats
path: root/tests/core/variant/test_array.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-09-20 16:06:13 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-20 16:06:13 +0200
commit6bf8a3e3f8dadf485f733b8fd5a502a7d21a2ff1 (patch)
tree9cc17e4db8ecd7c16a9a40d627c1f7021a1a7a92 /tests/core/variant/test_array.h
parentda9764ad438a0dab31f74791d1cf84612ed52c69 (diff)
parent89491f4403041ec81e8506a45f00f54033e45202 (diff)
downloadredot-engine-6bf8a3e3f8dadf485f733b8fd5a502a7d21a2ff1.tar.gz
Merge pull request #95449 from SlashScreen/array_functions
Add callable support for `find` and `rfind` `Array` methods
Diffstat (limited to 'tests/core/variant/test_array.h')
-rw-r--r--tests/core/variant/test_array.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/core/variant/test_array.h b/tests/core/variant/test_array.h
index 787b8f39d9..15e2cebe09 100644
--- a/tests/core/variant/test_array.h
+++ b/tests/core/variant/test_array.h
@@ -634,6 +634,24 @@ TEST_CASE("[Array] Typed copying") {
a6.clear();
}
+static bool _find_custom_callable(const Variant &p_val) {
+ return (int)p_val % 2 == 0;
+}
+
+TEST_CASE("[Array] Test find_custom") {
+ Array a1 = build_array(1, 3, 4, 5, 8, 9);
+ // Find first even number.
+ int index = a1.find_custom(callable_mp_static(_find_custom_callable));
+ CHECK_EQ(index, 2);
+}
+
+TEST_CASE("[Array] Test rfind_custom") {
+ Array a1 = build_array(1, 3, 4, 5, 8, 9);
+ // Find last even number.
+ int index = a1.rfind_custom(callable_mp_static(_find_custom_callable));
+ CHECK_EQ(index, 4);
+}
+
} // namespace TestArray
#endif // TEST_ARRAY_H